当前位置:首页 » 编程软件 » 没有被调用的函数会参与编译吗

没有被调用的函数会参与编译吗

发布时间: 2025-05-15 13:42:51

㈠ 单片机C语言编程,假如头文件里的函数没有被调用,那么该函数会不会最后编译出来而占用内存

没有用到自然就不会被编译,就不会占空间

如果头文件定义有1000个函数
你的程序只用了1个函数

那么编译后的程序,只有这一个函数的内容

㈡ keilc中怎么使一个库函数不调用时不编译

它不会被嵌入代码而占用空间的,当然动态链接库除外。KEIL把源代码编译成最终执行代码,要经历两个过程,一是编译:即把源文件编译成中间目标文件,简单的说是把C文件编译成.O或.obj文件;二是链接,这个是生成可执行文件的关键,它会根据MAIN函数头和各个中断函数中调用的函数去中间目标文件中选择对应的代码并最终打包到一起生成可执行文件。所以,声明未被用到的函数是不会占用程序存储空间的,但是它会被编译,只是在连接时不会被选用。希望对你有帮助!!!

㈢ GCC编译器加上优化选项会不会自动去掉没用到的函数

实际上在编译之后还要链接,才能生成最终的目标代码。
在链接的过程中,只有用到的函数才会被链接进目标代码。也就是说,没有用到的函数不会被链接到目标代码,也不会增大目标代码的体积。

㈣ C++ include的头文件里面的函数从来没用过会被编译进exe吗

头文件里你在代码中没有调用过的函数不会被编译到exe文件中。如果没有用过的函数也编译进去,那可执行程序得多大。
虽然不会编译进去,平常还是需要用哪些函数就包含哪个头文件,不需要的的不包含,编译时费时间。
C是多文件编译的,编译时会把每个Cpp文件单独编译,然后在链接过程中,代码中调用了哪个函数,编译器就会链接哪个函数,没有调用的不会链接。

㈤ 请问stm32我把所有的外设.c文件都放在工程里面,但是我再mian文件中不去引用它的函数,会影响到编译吗

如果外设文件是单独的.c,不会有影响,这些文件会编译,但不会link进去。如果某个.c中有没有用到的函数,就得看编译选项中优化级别那个参数。如果是-o0,就会把没有用到的函数连进去。如果是-o1~-o3,就不会。

㈥ C语言中已经声明或定义的变量如果在代码中没有使用到,编译器会怎样处理

就一直在那里放着。如果是全局变量,编译器连提示都没有;若是局部变量编译器在编译时会提醒说某某局部变量没有使用;若你不理会,在代码修改前就不会再提醒了。这些变量未使用,却一直占用着内存空间,但不影响代码的正确性……

㈦ 嵌入式中函数不会被调用会编译到固件吗

  1. 嵌入式系统

  2. 函数如果仅是定义了,而没有被其它函数调用,这种情况下,优化系统不会将此函数编译进最终可执行结果。所以更不会占用内存。

  3. 2.PC系统

  4. 通常情况下函数如果仅是定义了,但未被调用,系统会进行编译,能够检查并发现函数中的问题,但是否编译进最终的可执行文件受编译系统的控制,如果未被编译到系统中则不会占用内存。即便编译到了系统中,由于PC系统在运行时,并不会将所有的程序都加载至内存,因此,还会受到操作系统本身的限制。

  5. 3.BS系统

  6. 服务器端的程序通常情况下会占用内存,因为系统不清楚是否会被调用,尤其是在WebService这样的系统上。

  7. 客户端的程序,无论是否被调用,在传输、加载等情况下,肯定会被代码管理系统预编译,因此,也是需要占用内存的。

热点内容
超凡先锋配置不行怎么办 发布:2025-05-15 23:27:54 浏览:530
win7取消加密 发布:2025-05-15 23:26:37 浏览:470
不用internet打开ftp 发布:2025-05-15 23:06:00 浏览:153
sql字符串取数字 发布:2025-05-15 22:57:45 浏览:124
推荐编程课 发布:2025-05-15 22:34:12 浏览:618
表拒绝访问 发布:2025-05-15 22:29:37 浏览:978
电脑怎样解压文件 发布:2025-05-15 22:25:32 浏览:439
dns服务器怎么看 发布:2025-05-15 22:17:27 浏览:151
3dm的压缩包 发布:2025-05-15 22:09:23 浏览:662
和存储字长 发布:2025-05-15 21:54:09 浏览:515