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

编译包含头文件

发布时间: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头文件,再编译即可。

阅读全文

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

热点内容
少女绝对命令 浏览:7
我的世界服务器怎么造房子不被挖 浏览:329
美国有什么购物app好用的 浏览:442
库图片默认文件夹 浏览:411
微信加密能退出吗 浏览:394
程序员看剧不用买会员 浏览:592
编译和运行是一个意思吗 浏览:467
phpjson转义字符 浏览:235
动态壁纸要怎么解压 浏览:244
压缩文件分块 浏览:451
扫描文件怎么转换成pdf 浏览:697
蓝海压缩机怎么样 浏览:115
Python获得音频响度数据 浏览:854
我的电脑文件夹字体大小 浏览:271
单片机仿真怎么找到电位器 浏览:273
用什么app可以找校友 浏览:101
云服务器删除实例再创建要付钱吗 浏览:348
wifi的加密类型从哪里看 浏览:630
为什么手机有的app显示没网 浏览:47
黑马程序员入学知识 浏览:797