导航:首页 > 编程语言 > c调用c程序

c调用c程序

发布时间:2023-01-29 02:42:35

㈠ c语言如何调用另一个c程序

使用system()函数,在stdlib.h中声明的
C/C++学习指南,邵发,第16章的标准C函数

㈡ 怎样在c程序里面调用其他程序

C++和C是两种完全不同的编译链接处理方式,如果直接在C++里面调用C函数,会找不到函数体,报链接错误。要解决这个问题,就要在 C++文件里面显示声明一下哪些函数是C写的,要用C的方式来处理。
1.引用头文件前需要加上 extern “C”,如果引用多个,那么就如下所示
extern “C”
{
#include “ s.h”
#include “t.h”
#include “g.h”
#include “j.h”
};
然后在调用这些函数之前,需要将函数也全部声明一遍。
2.C++调用C函数的方法,将用到的函数全部重新声明一遍
extern “C”
{
extern void A_app(int);
extern void B_app(int);
extern void C_app(int);
extern void D_app(int);
}
C++程序中调用被c编译器编译后的函数,为什么要加extern "C"?
C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个C 函数的声明如下:
void foo(int x, int y);
该函数被C 编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字用来支持函数重载和类型安全连接。由于编译后的名字不同,C++程序不能直接调用C 函数。C++提供了一个C 连接交换指定符号extern“C”来解决这个问题。例如:
extern “C”
{
void foo(int x, int y);
// 其它函数
}
或者写成
extern “C”
{
#include “myheader.h”
// 其它C 头文件
}
这就告诉C++编译译器,函数 foo 是个C 连接,应该到库中找名字_foo 而不是找_foo_int_int。C++编译器开发商已经对C 标准库的头文件作了extern“C”处理,所以我们可以用#include 直接引用这些头文件。

㈢ 如何在C++中调用C程序

如果引用多个,那么就如下所示
extern “C”{
#include “ s.h”
#include “t.h”
#include “g.h”
#include “j.h”};
然后在调用这些函数之前,需要将函数也全部声明一遍。2.
C++调用C函数的方法,将用到的函数全部重新声明一遍
extern “C”{
extern void A_app(int);
extern void B_app(int);
extern void C_app(int);
C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个C 函数的声明如下:
void foo(int x, int y);
该函数被C 编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字用来支持函数重载和类型安全连接。由于编译后的名字不同,C++程序不能直接调用C 函数。C++提供了一个C 连接交换指定符号extern“C”来解决这个问题。例如:
extern “C”{
void foo(int x, int y);
// 其它函数}或者写成
extern “C”{
#include “myheader.h”
// 其它C 头文件}
这就告诉C++编译译器,函数 foo 是个C 连接,应该到库中找名字_foo 而不是找_foo_int_int。

㈣ 怎样在一个 C 程序中调用另一个程序 (独立可执行的程序, 或系统命令)

使用抄库函数 system(), 它的功能正是袭所要的。注意, 系统返回的值最多是命令的退出状态值 (但这并不是一定的), 通常和命令的输出无关。还要注意,system() 只接受一个单独的字符串参数来表述调用程序。如果要建立复杂的命令行, 可以使用 sprintf()。根据使用的系统, 也许还可以使用系统函数, 例如exec 或 spawn (或execl,execv, spawnl, spawnv 等)。

㈤ C语言中如何用一个程序调用另一个程序,两个程序都是.c文件。

你把被调用的.c文件中的main()函数改成其他名字
如fun();
然后在另一个.c文件的main()函数中调用fun();
只要保证一个C工程只有一个main()做入口点就行了,至于保留哪个main函数,那就要看你程序的逻辑了,注意main函数是入口点的概念

㈥ C语言如何调用别的程序

你给程序加个参数嘛,参数输入你需要处理的文件所在的文件夹,然后遍例文件夹所有.txt结尾的文本,一一处理.不就结了?
具体怎么做可以参考下面这个连接:
http://blog.csdn.net/happytang/archive/2006/06/13/795719.aspx
有问题可以给我发站内信

㈦ C语言 调用另一个程序

调用其他程序有两种方式,一个是直接调用其他模块中的函数,另外一个是用系统调内用的方式调用已经编译容连接好的可执行文件。

第一种方法的话,无论你用什么工具都是在你的程序里面添加你要调用函数的函数声明,然后再编译之后把两个obj文件连接起来。或者是把你要调用函数作到一个lib文件里面,然后连接到这个库。

第二种方式的话,就是把你要调用的函数(main函数)编译连接成一个独立的可执行文件,然后在你自己的程序里面指定目录结构程序名用系统调用执行。

VC的话不太适合初学者理解c语言,不过楼主如果是仅仅完成这个程序的功能的话,第一种方法中的编译和连接工作VB都会给你做,你只需要把代码加入工程中,然后在你的函数前声明调用的函数就行了。

--------不华丽的分割线-------

我明白了,你不理解的是我说的编译啊连接这些术语。这样吧,你新建一个VC工程,把那个c加进去,然后执行一下。接着去你建的那个工程的文件夹下找一个和你的工程名一样的后缀是.exe的文件就能用了。前提是你要用的那个.c文件里面有main方法。

阅读全文

与c调用c程序相关的资料

热点内容
如何制作虚拟货币app 浏览:303
ug50能通过补丁升级到高版本吗 浏览:766
dxf文件cad打不开的原因 浏览:525
2012怎么改域用户密码 浏览:550
dtv网络电视手机版下载 浏览:954
mfc100u放在哪个文件夹 浏览:359
javaweb插件 浏览:58
pto密码忘记 浏览:567
logo竞赛教程 浏览:481
贵阳去哪里学编程比较好 浏览:132
java将string转为json 浏览:291
ppt2013制作exe文件 浏览:80
linux文件只读不能复制 浏览:597
开关代码 浏览:91
word绘图板 浏览:359
苹果minecraftpe注册 浏览:775
ps怎么存储文件卡 浏览:728
微信清除缓存图片恢复 浏览:305
安卓app会闪退怎么解决 浏览:429
哪些app背单词是免费的 浏览:889

友情链接