导航:首页 > 文件教程 > cc编译器编译头文件

cc编译器编译头文件

发布时间:2023-05-09 14:30:37

A. c++中如何编译头文件,编译头文件的作用,

每个C++/C程序通常分为两个文件。一个文件用于保存程序的声明(declaration),称为头文件。另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。C++/C程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀,C++程序的定义文件通常以“.cpp”为后缀(也有一些系统以“.cc”或“.cxx”为后缀)。
创建方法:文件→新建→在弹出的框中选择文件栏→C++/C Header File→确定,然后就开始握缺枝写头文件内容。
头文件作用:
1,头文件可以定义所用的函数列表,方便查阅你可以调用的函数;扮颤
2,头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序就可以做相应的修改,不用亲自跑到繁琐的代码内去搜索。
3,头文件只是声明,不占内存空间,要知道其执行过程,要看你头文件所申明的函数是在哪个.c文件里定义的,才知道。
4,他并不是C自带的,可以不用。
5,调用了头文件,就等于赋段敏予了调用某些函数的权限,如果你要算一个数的N次方,就要调用Pow()函数,而这个函数是定义在math.c里面的,要用这个函数,就必需调用math.h这个头文件。

B. 关于在linux下用gcc编译头文件的问题。

我用一个例子来告诉你怎么样在 C++ 里使用C的头文件/函数。

比方说我有一个C的头文件叫 c.h, C的源码文件叫 c.c,内容分别是

c.h:
#ifndef _ASDFD_INCLUDED_
#define _ASDFD_INCLUDED_

#include <stdio.h>

extern int test(int a);

#endif

c.c:
#include "c.h"

int test(int a)
{
printf("A = %d\n", a);
return a*a;
}

现在我想在c++中使用c.c中提供的函数test(),我的c++文件名字叫 a.cpp,那么里面跟C有关的部分就要用 extern "C" {} 大括号括起来,看看我的
a.cpp:
#include <iostream>
using namespace std;

extern "C"
{
#include "c.h"
}

int main()
{
int b = 12;

b = test(b);

cout<<"b = "<<b<<endl;
return 0;
}

看到了吧,#include "c.h" 被 extern "C" {}括起来了。

然后是如何编译,先把C文件编出目标文件(.o)来
gcc -c c.c
你会看到生成了 c.o,其实,有目标文件就够了,如果你一定要做成(静态/动态)库文件,也是可以的,不过我这里就不深入了,做成库和直接用目标文件对解决你的问题没有任何区别。

然后再编译C++文件,也就是我的 a.cpp
g++ -o hello a.cpp c.o
看到了吧,我在编译 a.cpp 的时候把C生成的 c.o也加上了。 然后生成 可执行的 hello, 运行
./hello
就可以看到
A = 12
b = 144

关于创建静态库,假定你有3个C文件, a.c, b.c, c.c 提供了你C++要用到的接口,那么可以把这三个C文件编译出来的目标文件放到一个库文件里供C++使用,方法为

先编译出目标文件
gcc -c a.c b.c c.c

这时候你应该看到有 a.o b.o c.o了

然后创建库文件
ar cr libtest.a a.o b.o c.o
这三个目标文件就放入 libtest.a 这个静态库中了,然后编译C++程序 (你的C++程序应该已经按照我前面说的用 extern "C" 把C的接口都括起来了),假定你的 libtest.a 放在 /home/aaa/lib下

g++ -o my.exe my.cpp -L/home/aaa/lib -ltest

就会生成可执行文件 my.exe了。

C. C/C++编译器如何通过头文件链接到对应的库文件

把自己的头文件存为*.h文件名。然后在要调用该头文件的程悉渣序开头用
#include
<*.h>如果你指的是包含一个你编译器没有的第三方头文件的话,那么首先检查该头文件代码是否数扒被编译器支持,如薯陆昌果支持的话使用#include包含她就可以了。

D. cc gcc编译器怎么使用

gcc --help可以看gcc的编译选项

常用的有
gcc -c xcxcx.c : -c 编译C代码,生成该文件的渣液obj文件
gcc xcxcx.o -o dest : -o 链接各个obj文件,生成目标执行程序
-I : (这里是大写i) 表示头文件路径
-L : 表示袜空库文件路径
-l : (这里是小写的L) 表示需要链接的库文件
-O: (这里是大写英文o) 表示优化参数
-WALL:告梁瞎 表示warning等级

这里是一句完整的话
g++ -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-static/lib -o Qt_V4L_ShowImage main.o myWidget.o v4lThread.o moc_myWidget.o moc_v4lThread.o -L/usr/local/Trolltech/QtEmbedded-static/lib -lQtGui -L/usr/local/tslib/lib -L/usr/local/Trolltech/QtEmbedded-static/lib -L/usr/local/lib -L/home/root/ffmpeg/lib -lts -lQtNetwork -lQtCore -lc -lgcc -lm -lrt -ldl -lpthread -lavcodec -lavformat -lavutil -lx264 -xvidcore -lcv -lhighgui -lcvaux -lcxcore

不过还是自己看一下gcc的help比较好,那里讲的全面些

E. c语言中如何编译头文件啊

  1. 只要在程序开头加入#include<头文件名>,在编译过程当中,头文件自动会被添加到源文件当中一起进行编译。

  2. 编译,枣高猜编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并念悉且按照操作系统对可执行文件格式的要求链接生成可执行程序。
    C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链凳型接程序-->可执行文件。

F. arm-linux-gcc怎么编译自己写的头文件

linux gcc编译c文件头文件
linux gcc编译c文件头文件,使用GCC编译器编译C语言

凶猪下山
转载
关注
0点赞·1047人阅读
GCC编译C源代码有四个步骤:预处理—->编译—->汇编—->链接。

可以利用GCC的参数来控制执行的过程,这样就可以更深入的了解编译C程序的过程。

下面将通过对一个程序的编译来演示整个过程。

#include

int main()

{

printf("happy new year!\n");

return 0;

}

1:预处理:编译器将C程序的头文件编译进来,还有宏的替换,可以用gcc的参数-E来参看。

预处理 命令:gcc -E hello.c -o hello.i

作用:将hello.c预处理输出hello.i

2:编译:这个阶段编译器主要做词法分析、语法分析、语义分析等,在检查无错误后后,把代码翻译成汇编语言。可用gcc的参数-S来参看。

编译器(ccl)将文本文件hello.i 翻译成文本文件hello.s, 它包含一个汇编语言程序。汇编语言程序中的每条语句都以一种标准的文本格式描述了一条低级机器语言指令。

编译命令:gcc -S hello.i -o hello.s

作用:将预处理输出文件hello.i汇编成hello.s文件

3:汇编:把编译阶段生成的.s 文件转换为二进制目标代码。可用gcc的参数-c来参看。汇编器(as)将hello.s翻译成机器语言指令,把这些指令打包成可重定位目标程序的格式, 并将结果保存在目标文件hello.o中。hello.o文件是一个二进制文件,它的字节编码是机器语言。

汇编 命令:gcc -c hello.s -o hello.o

作用:作用:将汇编输出文件hello.s编译输出hello.o文件

4:链接:把obj文件链接为可执行的文件:链接器(ld)负责.o文件的并入。结果就是hello文件,它是一个课执行的目标文件,可以加载到存储器后由系统调用。

链接命令:gcc hello.o -o hello

一步操作的话是: (-o必须在hello之前 )

$gcc hello.c -o hello

$./hello或者:(会默认生成a.out文件)

$gcc hello.c

$./a.out

G. 怎样利用CC命令在Unix上编译C程序

在 UNIX系统下面,使用 cc 命令最常用的选项主要有如下几个(以 my_prog.c 为例进行说明)
$cc -c my_prog.c <cr> (-c 选项表示只编译、产生中间文件,不进行链接、并产生最终的可执行程序)
$cc my_prog.c <cr>(编译、链接,并产生缺省的可执行程序。缺省的可执行文件名为:a.out)
$cc -o my_runfile my_prog.c <cr>(-o 选项用于生腔友成用户指定启圆派的可执行程序名,代替缺省的可执行文件名:a.out。这里的可执行文件名是:悄贺my_runfile)
至于说还有很多其他选项,例如:-L系统库名字(*.LIB)等,那就需要在平时的编程过程中去体会了。
另外,如果是在 Linux 系统下面进行 C 语言的开发,使用的是 gcc 编译器。其选项和 cc 编译器相同。

H. cs+forcc添加头文件

在 CS+FORCC 中添加头文件可以使用以下步骤:

1. 打开需要添加头文件的 c 文件。
2. 在文件的开头部分,使用 #include 指令添加需要的头文件,例如:`#include <stdio.h>`。
3. 保存文件并编译。

需要注意的是,CS+FORCC 中的头文件通常都是 C 标准库中的头文件,也可以添加其他的自定义头文件。如果遇到编译错误,可以检查头文件路径是否正确或者是否缺少依赖库等问题。

阅读全文

与cc编译器编译头文件相关的资料

热点内容
不用网络加载的单机游戏有哪些 浏览:608
数据线插头怎么接头 浏览:577
网络加载视频失败是怎么回事 浏览:805
传奇账号在哪个文件夹里 浏览:346
百度app在哪里安装 浏览:587
如何设置路由器网络不断网 浏览:471
传到qq群里的文件怎么删除 浏览:861
索尼安卓71更新日志 浏览:234
怎么找手机里的垃圾app 浏览:540
2015蓝桥杯代码填空 浏览:698
安卓数据库dbexecSQL 浏览:227
doc重命名文件格式 浏览:728
getscreen截图工具下载 浏览:719
共识数据是什么时候开始的 浏览:96
数码管显示电压程序 浏览:479
数据库文件有哪个 浏览:543
途强储存在哪个文件夹 浏览:172
如何恢复被覆盖文件 浏览:611
iphone5用哪个版本最好 浏览:327
extjsgrid禁用 浏览:426

友情链接