A. c语言中,是否可以调用其它文件的函数
C语言可以在程序中调用其他文件中的函数。
在大型的程序软件开发中,为了代码的可读性,或多人同时进行代码开发,可以各写自己的源文件,然后,在编译时,将多个源文件链接到一起,就可以形成最终的目标程序。
各程序中的函数可以是共用的,参考代码如下:
//a.c
#include <stdio.h>
int funa( int n )
{
printf("n=%d\n", n );
return n*2 ;
}
//main.c
#include <stdio.h>
extern int funa(int); //声明funa为外部函数
void main()
{
int x=5,y;
y=funa(x);
printf("y=%d\n", y );
}
在linux下,编译方法为:gcc main.c a.c -o test
在windows下,可建立一个工程,将两个文件添加到该工程中,编译,运行即可
B. 如何在C语言中调用exe文件
在C语言中调用exe文件,可以使用system函数。
1、函数声明:
int system(const char *cmd);
2、头文件:
stdlib.h
3、函数功能:
调用cmd中包含的系统命令。要执行exe文件,直接cmd赋值该exe文件的文件名即可。可以包含相对路径或者绝对路径。
4 示例代码:
如在D:\A\下存在有my.exe文件。当前C程序可执行文件位于D:\B文件夹下。
那么调用my.exe可以使用
system("d:\\A\\my.exe");
也可以使用
system("..\\A\\my.exe");
如果my.exe就在D:\B下,那么可以直接
system("my.exe");
C. C语言中如何调用文本文件
1、首先使用VS新建空工程,直接点击确定。
D. c语言中文件怎样调用文件
扩展名为.h的文件,在C语言中被称为header file, 也就是头文件。
头文件的数据格式就是普通的文本文件,可以通过新建文本文件(txt),再把扩展名改为.h的方式创建,在此不赘述。
一、头文件内容格式。
头文件内容并没有固定的格式要求,不过一般为防止嵌套引用给编译器带来死锁或者没必要的开销,一般约定整个头文件中所有内容在一个条件编译下,即如下格式:
#ifndef 宏名
#define 宏名
//头文件主体
#endif
这样可以保证一个头文件在一个源文件中最多只被引用一次。为避免宏名重复,宏名一般由头文件名转换而来,如果头文件名是xxx.h,那么宏名一般定义为:
_XXX_H_
即前后各加一个下划线,同时文件名中除数字、字母、下划线以外的字符均转换为下划线(_)。
头文件主体中内容同样没有做强制约定,可以出现在源文件(.c)中的任何代码均可以放在头文件中。不过一般情况下可以包括以下几种内容:
1 引用其它头文件,格式为
#include <xxx.h>
或
#include "xxx.h"
二者区别在介绍头文件引用时再详细介绍。
2 定义私有类型。比如
typedef unsigned long U32; //为了简写而给无符号32位整型定义一个新的名字
struct xxx {};
也可以是enum, union等复杂类型。
3 宏定义。比如
#define MAX(a,b) (a>b?a:b)
4 函数声明。比如
void test_function(void);
5 全局变量声明。比如
extern int global_var;
6 如果有一个静态全局变量需要在不同源文件中使用,但各文件之间互不相关。那么可以放在头文件中。如:
static int gs_var = 3;
7 对于支持C99规范的C编译器,还可以把内联函数定义在头文件中。比如
static inline int get_min(int a, int b)
{
if(a>b) return b;
return a;
}
以上是常见的头文件中的元素。但实际上头文件中也可以放全局变量的定义,全局函数的实现等。但是头文件中一旦定义了这样的元素,这个头文件在一个工程中只能被一个文件引用,否则编译器会报重复定义的错误。
比如如果有一个规模很大的常量数组,比如一副图片的二进制值,如果把它定义在源文件中,就会显得很冗余,因为并不会经常修改。 这时可以定义在头文件中,只在一个源文件中引用,当有多幅图片需要随时更换时,也可以通过简单的在源文件中修改引用的头文件名达到修改的目的。
二、头文件的引用。
头文件引用的方法其实之前已经大致说过了,在源文件中引用头文件和在头文件中引用的格式是一样的:
#include<xxx.h>或者
#include "xxx.h"
xxx为头文件名。
用<>和""是有一定的区别的。在编译器查找头文件的时候,会在两个区域分别查找。
一个是系统头文件区域,即类似于stdio.h一类的C库函数头文件区。
另一个是自定义头文件区,比如当前目录,以及其它自定义的目录。
用<>时,编译器会先在系统区域查找,然后再查找自定义区域。而用""时则相反。
由于一般并不推荐自定义头文件名与系统头文件名相同(容易引起歧义并难以维护),所以先后顺序并不是太重要,尤其在硬件速度越来越快的今天,使用哪种符号引用头文件已经差别很小了。
E. c语言怎么调用dll文件
1、新建DLLTest文件夹,在该文件夹中新建source文件夹。
注意事项:
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
F. 怎样在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 直接引用这些头文件。
G. C语言中怎么调用外部函数
1、外部函数extern时声明这个函数为外部函数,本文件不做定义,只调用,编译不会出错,但不能运行(没有函数实体)。如果想有运行结果就必须将函数实体包含进来,所以文件包含和extern是配合使用的。文件包含只需要包含.h就是实体的头文件,但有些软件貌似不能识别头文件和c的关系,所以就只能包含.c文件。
2、也就是说外部函数extern只是个声明,他告诉编译器我用到了一个外部函数,但如果该文件没有将函数实体包含进来,编译器是找不到的,依然是不能运行的,所以extern只是个声明,并没有做任何事,只是这样是没用的。include是包含一个文件,就是类似于该文件复制到此处(只是说类似,其实是个查找路径,让编译器去该路径查找函数)。
H. c语言中文件怎样调用文件
在文件最前面使用#include可以调用文件。例如
#include
<stdio.h>
/*调用系统stdio.h*/
#include
"test.h"
/*调用用户自定义文件test.h*/
被调用的文件多是.h文件,即头文件。当然也可以是.c文件,即c语言源文件,但一般不推荐使用这种方式。
I. 怎么调用外部C语言文件
解决什么了,你现在代码的问题还很多。
file1.c中的内容:
#include<file2.c>//这样你以后写程序还会出错。要建个h头文件,把函数声明放到里面就行。
int
A;
main()//没类型可以运行吗。用void
main
{
int
power(int);//这个声明放到头文件里
int
b=3,a,c,d,m;
printf("enter
the
number
a
and
its
power
m:\n");
scanf("%d,%d",&a,&m);//你输入的不是A,是a.。。。
c=A*b;//c的值是0
printf("%d*%d=%d\n",A,b,c);//由于A是全局变量,值默认为0。
d=power(m);
printf("%d*%d=%d",A,m,d);
}
file2.c中的内容:
extern
A;//类型要带上,extern
int
A;
power(int
n);
{
int
i,y=1;
for(i=1;i<=n;i++)
y=A;
return(y);
}
file1.c中的内容:
#include<file2.c>
int
A;
main()
{
int
power(int);
int
b=3,a,c,d,m;
printf("enter
the
number
a
and
its
power
m:\n");
scanf("%d,%d",&a,&m);
c=A*b;
printf("%d*%d=%d\n",A,b,c);
d=power(m);
printf("%d*%d=%d",A,m,d);
}
file2.c中的内容:
extern
A;
power(int
n);
{
int
i,y=1;
for(i=1;i<=n;i++)
y=A;
return(y);
}
J. C语言如何使用外部文件中的函数
1.
请使用预编译指令
#include。加入外部文件,就可以使用外部文件的函数了。
#include放在代码文件头,用于告诉编译器,文件中包含的头文件,属于预处理文件的一部分
。
语法为:
#include
<iostream.h>
(这句是程序编译时搜索系统目录文件)
#include
“HName.h"
(这句是程序编译时搜索当前项目的文件)
2.
例如:
//函数实现 a.c文件:
int add(int x, int y){
return x+y;
}
//主文件 main.c文件:
#include <stdio.h>
#include "a.c" //引入外部函数
int main(){
int i;
i = add(1,2);
printf("%d",i);
return 0;
}