c语言如何 调用外部程序

c语言如何 调用外部程序,第1张

fe函数名: exec...

功 能: 装入并运行其它程序的函数

用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL)

int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,

char *envp[])

int execlp(char *pathname, char *arg0, arg1, .., NULL)

int execple(char *pathname, char *arg0, arg1, ..., NULL,

char *envp[])

int execv(char *pathname, char *argv[])

int execve(char *pathname, char *argv[], char *envp[])

int execvp(char *pathname, char *argv[])

int execvpe(char *pathname, char *argv[], char *envp[])

程序例: /* execv example */

#include <process.h>

#include <stdio.h>

#include <errno.h>void main(int argc, char *argv[])

{

int i printf("Command line arguments:\n")

for (i=0i<argci++)

printf("[%2d] : %s\n", i, argv[i]) printf("About to exec child with arg1 arg2 ...\n")

execv("CHILD.EXE", argv) perror("exec error") exit(1)

}

多看书,多Google,百度,

1. 在调用之前,先声明和定义函数

2. 根据你函数的参数类表来,填入函数调用时所真正用到的参数来进行调用

例如:要在函数 F(){... } 中调用新增的小程序int FA(int a)和 char FC(char c),按照上面讲的:

1.声明和定义

int

FA(int a){ /*函数功能具体的定义*/}

char

FC(char&c){ ... /*函数功能具体的定义*/}

2 根据函数的声明,在F()中加以调用

void

F()

{

... ...

int getA = FA(6)//6为int,如果参数是6.001,则会强制转换成为6

... ...

char getC= FC('a') //a为单个的字符

}

就这样,简单吧,去试试吧 :-)

1、外部函数extern时声明这个函数为外部函数,本文件不做定义,只调用,编译不会出错,但不能运行(没有函数实体)。如果想有运行结果就必须将函数实体包含进来,所以文件包含和extern是配合使用的。文件包含只需要包含.h就是实体的头文件,但有些软件貌似不能识别头文件和c的关系,所以就只能包含.c文件。

2、也就是说外部函数extern只是个声明,他告诉编译器我用到了一个外部函数,但如果该文件没有将函数实体包含进来,编译器是找不到的,依然是不能运行的,所以extern只是个声明,并没有做任何事,只是这样是没用的。include是包含一个文件,就是类似于该文件复制到此处(只是说类似,其实是个查找路径,让编译器去该路径查找函数)。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11012016.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存