社区
C语言
帖子详情
如果不使用一个函数,编译器会不会将些函数编译进exe文件中?
srxumin
2016-05-08 09:29:49
a.c
main(){}
b.h
fun();
b.c
fun(){}
因为a.c没有#include "b.h",那编译器的release版本会不会将b.c的fun函数一起编译进exe文件中?
...全文
130
2
打赏
收藏
如果不使用一个函数,编译器会不会将些函数编译进exe文件中?
a.c main(){} b.h fun(); b.c fun(){} 因为a.c没有#include "b.h",那编译器的release版本会不会将b.c的fun函数一起编译进exe文件中?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
小灸舞
版主
2016-05-08
打赏
举报
回复
当启动连接程序时,它会寻找“未定义的外部函数”,也就是说,它将在每一个库文件中查找源代码文件中未定义的函数。当它找到一个未定义的外部函数后,它会引入包含该函数定义的目标代码。(obj)。不幸的是,如果这个函数是在一个包含其它函数定义的源文件中被编译的话,那么这些函数也会被包含进来,你的可执行代码中将包含一些不需要的代码。因此,将库函数放到各自的源文件中是很重要的——否则会浪费宝贵的程序空间。有些编译程序包含特殊的“精明的”连接程序,这些连接程序能查出不需要的函数并去掉它们,从而使这些函数不再进入你的程序。
Saleayas
2016-05-08
打赏
举报
回复
就算你 #include 的了,但是你没有引用的符号都不会编译进最终的可执行镜像中。 包括 .exe 和 .dll . SDK 中包含所有的开发函数,最终的 .exe 只有你使用的函数。 所以,如果需要把一个没有使用的符号(函数和变量等等)编译进 exe 或者 dll 。 需要特殊的方式。
类
中
不定义构造
函数
,C++
编译
器
会
生成默认的构造
函数
?
初学者在学习C++的时候都知道:如果在类
中
不定义构造
函数
的话,
编译
器
会
自动生成一些
函数
: 构造
函数
拷贝构造
函数
析构
函数
赋值运算符 请注意:这种说法是错误的!!!! 正确的说法应该是:当上述这些构造
函数
...
C语言的程序
文件
中
,完全没有调用过的
函数
会
不
会
被
编译
?
自己写的而且没被调用的
函数
(注意不包括没有specialized的模板),如果不是inline或static,都
会
被
编译
,因为
编译
分两步,首先每个translation unit都
会
被
编译
为o file,然后所有o file
会
被链接成目标
文件
。...
c语言多个.c
文件
编译
以及操作
需要
使用
编译
器
新建项目,然后把源代码放
进
去,
编译
器
会
把项目
中
所有的源代码
编译
后,链接起来
编译
器
有
编译
和构建,
编译
指对单个源码
进
行
编译
,后者是对整个项目做链接
编译
单元:
一个
.c是
一个
编译
单元,
编译
器
...
MDK (keil) 没有
使用
到的
函数
编译
时候
会
有警告的解决
在
使用
MDK编写STM32代码时,有些
函数
...库
函数
并没有
使用
static关键字,因为它可能
会
给其他
文件
使用
,所以
编译
器
会
进
行全
编译
,不做整个工程的调用检查,所以也
不
会
报错,但是这样
编译
出来的HEX
文件
会
大。 而我写
c++
编译
器
查找
函数
的过程
c++
编译
器
在
编译
过程
中
,遇到
函数
调用,首先
会
查询当前类似否有该
函数
名,如果没有则查询直接父类,如果直接父类没有,则继续向上查询,如果都没有,则调用错误。查询到名称之后
会
检查参数列表,参数列表正确之后...
C语言
69,371
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章