导航:首页 > 源码编译 > 编译包含头文件

编译包含头文件

发布时间:2023-08-12 02:37:35

A. VS如何编译一个包含多个头文件、源文件的项目

你首先将另一个类的头文件(otherclass.h)和源文件(otherclass.cpp)添加到你的工程(选择添加现有项)。然后将你要用的另一个类的头文件包含到你的类的源文件开头,使用#include
"otherclass.h"然后就可以使用在你的类的源文件中使用另一个类创建对象,调用该对象成员变量和成员函数了。

B. gcc编译线程程序,为什么要加-lpthread,头文件已经包含了<pthread.h>了啊

-lpthread是链接库,

<pthread.h>只有申明,实现部分都在库里面。

创建线程时一般是把函数的指针做参数,所以要加一个取地址符号。

ret=pthread_create(&id,NULL,(void *)&thread,NULL);

另外,建议要检查一下创建线程的返回值ret是否成功,防止影响后面的代码。

(2)编译包含头文件扩展阅读:

每个语言编译器都是独立程序,此程序可处理输入的原始码,并输出组合语言码。全部的语言编译器都拥有共通的中介架构:一个前端解析符合此语言的原始码,并产生一抽象语法树,以及一翻译此语法树成为GCC的暂存器转换语言〈RTL〉的后端。

编译器最佳化与静态程序码解析技术(例如FORTIFY_SOURCE,一个试图发现缓冲区溢位〈buffer overflow〉的编译器)在此阶段应用于程序码上。最后,适用于此硬件架构的组合语言程序码以Jack Davidson与Chris Fraser发明的算法产出。

C. c语言中如何编译含头文件的函数

在使用头文件声明的函数或结构的文件中添加#include"该头文件"
一般来说该头文件和.c文件同一目录,或者放到编译器能自动找到的位置

D. android.mk怎么在jni编译时把系统头文件包含

Android 2.3.6:LOCAL_CPP_FEATURES: 可选。用来指定C++ features。 LOCAL_CPP_FEATURES := rtti LOCAL_CPP_FEATURES := exceptions 2.3.7:LOCAL_C_INCLUDES: 一个可选的path列表。相对于NDK ROOT 目录。编译时,将会把这些目录附上。 LOCAL_C_INCLUDES := sources/foo LOCAL_C_INCLUDES := $(LOCAL_PATH)/../foo 2.3.8: LOCAL_CFLAGS: 一个可选的设置,在编译C/C++ source 时添加如Flags。 用来附加编译选项。 注意:不要尝试在此处修改编译的优化选项和Debug等级。它会通过您Application.mk中的信息自动指定。 也可以指定include 目录通过:LOCAL_CFLAGS += -I<path>。 这个方法比使用LOCAL_C_INCLUDES要好。因为这样也可以被ndk-debug使用。 2.3.9: LOCAL_CXXFLAGS: LOCAL_CPPFLAGS的别名。 2.3.10: LOCAL_CPPFLAGS: C++ Source 编译时添加的C Flags。这些Flags将出现在LOCAL_CFLAGS flags 的后面。 2.3.11: LOCAL_STATIC_LIBRARIES: 要链接到本模块的静态库list。(built with BUILD_STATIC_LIBRARY) 2.3.12: LOCAL_SHARED_LIBRARIES: 要链接到本模块的动态库。 2.3.13:LOCAL_WHOLE_STATIC_LIBRARIES: 静态库全链接。 不同于LOCAL_STATIC_LIBRARIES,类似于使用--whole-archive 2.3.14:LOCAL_LDLIBS: linker flags。 可以用它来添加系统库。 如 -lz: LOCAL_LDLIBS := -lz 2.3.15: LOCAL_ALLOW_UNDEFINED_SYMBOLS: 2.3.16: LOCAL_ARM_MODE: 缺省模式下,ARM目标代码被编译为thumb模式。每个指令16位。如果指定此变量为:arm。 则指令为32位。 LOCAL_ARM_MODE := arm 其实也可以指定某一个或者某几个文件的ARM指令模式。 2.3.17: LOCAL_ARM_NEON: 设置为true时,会讲浮点编译成neon指令。这会极大地加快浮点运算(前提是硬件支持) 只有targeting 为 'armeabi-v7a'时才可以。 2.3.18:LOCAL_DISABLE_NO_EXECUTE: 2.3.19: LOCAL_EXPORT_CFLAGS: 定义这个变量用来记录C/C++编译器标志集合, 并且会被添加到其他任何以LOCAL_STATIC_LIBRARIES和LOCAL_SHARED_LIBRARIES的模块的LOCAL_CFLAGS定义中 LOCAL_SRC_FILES := foo.c bar.c.arm 注意:此处NDK版本为NDK R7C.(不同NDK版本,ndk-build所产生的Makefile并不完全相同)

E. 已经包含了头文件,但编译提示未定义变量的一种情况分析

ipc_mem.c 文件中 引用了 定义有con_conf_t结构体的 con_conf_info.h 头文件,并且 ipc_mem.h 头文件中声明con_conf_t结构体变量,而 sample.c 引用了 头文件 ipc_mem.h 了,但是编译提示ipc_mem.h中未定义con_conf_t

所以,需要确认好别的文件中是否也需要包含相关头文件,如果是,光禅做在一个贺锋衡地方引用头文件是不够的。

如本次问题中基启,ipc_mem.c中会用到con_conf_t结构体,而sample.c中虽然不会用到con_conf_t结构体,但是sample.c中包含了ipc_mem.h,而ipc_mem.h中又声明了con_conf_t结构体变量,所以编译到sample.c文件时,由于看到ipc_mem.h声明了con_conf_t,但是编译器不止知道con_conf_t是哪里来的,所以会报错。

要解决这个问题,只需要在sample.c再引用con_conf_info.h头文件,再编译即可。

阅读全文

与编译包含头文件相关的资料

热点内容
一个程序员写的诗火了 浏览:612
red摄影机压缩比 浏览:409
app账号怎么弄 浏览:822
hc0551单片机 浏览:754
喷淋管道支架算法 浏览:591
压缩机坏了电脑无法启动 浏览:240
不小心加密了怎么去掉 浏览:954
linux命令行连接db2 浏览:897
洪恩app怎么设置护眼模式 浏览:970
小猿口算app怎么选课时 浏览:420
手机号脱敏加密解密 浏览:168
台电加密u盘多少钱 浏览:546
控制面板文件夹怎么隐藏 浏览:845
opticspdf 浏览:592
抖店app怎么快速退保证金 浏览:971
阿里云服务器的密码在哪改 浏览:907
如何删除集群服务器 浏览:809
程序员方向知乎 浏览:153
华为手表运动健康app怎么弄 浏览:1000
ftp文件夹形式 浏览:666