吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 719|回复: 9
收起左侧

[讨论] QT Creator会不会自行优化? 把各自重复的引用库的行优化下?

[复制链接]
冥界3大法王 发表于 2023-4-17 21:36


譬如下面的:
#include <QRegularExpression>
。。。。
比如别的ui里边又加了。。。
有许多个。。。
那编译器编译时,会不会自己把它们合并起来?  另外分着多个重复的是不是显得太臃肿了?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

拎壺沖 发表于 2023-4-17 22:06
法王现在不搞游戏了?
FDE9 发表于 2023-4-17 22:08
本帖最后由 FDE9 于 2023-4-17 22:10 编辑

QT Creator应该不管这些, 这是编译器负责的, 典型的是在预处理步骤处理#include

#ifndef或者#pragma once之类的guard和预编译头之类的技术可能是你所期望的

另外, 别把编译器想太蠢了...这么多年了, 如果一个已知的"优化"没有做, 那八成是不能做
dong555 发表于 2023-4-17 23:14
fengdaokanhai 发表于 2023-4-18 00:02
最好头文件还是加上ifndef endif或者#pragma once,而且多文件,你不加上你写的时候也会报错,要你引入
codeaftercode 发表于 2023-4-18 08:05
如果你用MSVC,头文件一定有#pragma once。如果你用MinGW,就不用加#pragma once
编译器没那么蠢,你想想,如果编译器把头文件重复导入了多次,那就相当于把一个类或一个函数重复定义了多次,会报错呀
codeaftercode 发表于 2023-4-18 08:10
你可以自己测试一下,在A文件里include好多个头文件,到B文件里include A,构建,记录生成文件的大小。再把A文件中include的那些个头文件,全部复制到B文件里,构建。对比最终生成的文件大小
only998 发表于 2023-4-18 08:30
如果你是动态引用的dll或者.so,其实无所谓,就是一个函数地址而已。如果是静态编译,你担心的这个问题是有可能发生的,不过也无所谓啦,就是程序大点而已
淡淡灰黑色J 发表于 2023-4-18 09:25
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#endif // MAINWINDOW_H

头文件里面一般都加有这些预处理,目的是为了避免重复包含和编译
Dlan 发表于 2023-4-18 09:58
当然会啊!这个也简单,你测试一下就知道了,
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-13 03:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表