导航:首页 > 编程语言 > 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程序相关的资料

热点内容
ubunturoot文件夹 浏览:745
手机文件误删能否恢复数据 浏览:955
照片文件名中的数字代表什么 浏览:44
cs6裁切工具 浏览:235
数据库超过多少数据会卡 浏览:858
CAD落图文件 浏览:125
怎样翻译文件内容 浏览:679
戴尔r910安装linux 浏览:69
有线电视升级失败 浏览:560
火绒安全把文件删掉了在哪里找 浏览:503
手机qq网络状态方框 浏览:225
哪里有文件纸袋 浏览:873
复制的东西能不能粘贴到空文件夹 浏览:876
酒店没有网络如何缴费 浏览:380
win10开机滚动很久 浏览:520
可对元数据实例进行的操作有什么 浏览:934
什么后缀的文件kit 浏览:295
word行书字体库下载 浏览:579
iosuc版本历史版本 浏览:14
电影字幕文件制作软件 浏览:723

友情链接