摘要:
什么是Makefile 工程中的文件不计其数,其按类型、功能和模块放在若干个目录中 Makefile文件定义了一系列的规则来指定哪些文件需要先编译,哪些文件后编译,哪些文件需要重新编译 Makefile带来的好处就是“自动化编译”,一旦写好,可以用make命令整个工具完成自动编译 make是一个命令 阅读全文
摘要:
程序编译成可执行程序的过程 动态库会在链接过程中将自己名字信息打包到可执行文件中,但是不会把自己代码打包过去 静态库则是会将自己的代码直接打包到可执行文件中 静态库的创建 动态库的创建 动态库的api是在运行中查找,一般需要手动改变环境变量 静态库优缺点 静态库的加载速度快 发布程序无需提供静态库, 阅读全文
摘要:
动态库的制作 动态库也称为共享库 注意一定加上 -fpic 动态库加载失败原因: 程序启动之后,程序会把动态库的的内容加载到内存之中,通过ldd命令检查动态库依赖关系 解决动态库加载失败 env 可以查看环境变量 export LD-LTBRARY_PATH=$LD-LTBRARY_PATH:绝对路 阅读全文
摘要:
库文件 计算机上的一类文件,可以看作代码库 两种,静态库和动态库 静态库在程序的链接阶段被复制到程序中;动态库在链接阶段没有被复制,而是在运行时由系统动态的加载到内存供程序使用 代码保密,方便部署和分发 命名规则 使用gcc -c add.c(文件名,可以有多个文件)来生成 .o文件 -I ./in 阅读全文
摘要:
GCC GNU编译器 '-std=c99' 表示指定编译标准 安装 sudo apt install gcc g++ 查看版本 gcc/g++ -v/--version 运行 gcc test.c -o app (编译) ./app 其中,app为自命名,可以随便命名 编译语言发展 GCC工作流程 阅读全文