工程配置中的细节问题

博客给出编译工程配置的优化建议,包括将编译中间文件移到源代码目录外,修改执行文件输出路径,注意C/C++语言和代码生成设置,用预处理指令设置Lib文件,初始工程使用Unicode字符集等,可避免污染源代码目录、链接和运行错误等问题。

可能你觉得这是一个很没有水平的题目,但是有些细节可能是你从未想过的:)

1.   你是否还是将编译中间文件输入目录保持为默认的DebugRelease(也或是其它中间文件默认的目录)并且放在源代码所在的目录下?如果是,你应该考虑看看我的建议。我的建议是将它们统统移到源代码文件目录之外,也就是$(SoluctionDir)之外,为虾米?如果你不能保证源代码不会被复制,你就应该这样做,当你在复制源代码时,臃肿的*.obj文件会让你感到恐怖,所以你不得不手工清除掉这些文件,然后再复制你想要的源代码目录,或许你不想删除,那还要将它们CUTPASTE去,完成复制后再CUTPAST回来,如果最初你就没把这些文件放在你的源代码目录下,你就用不着清除掉这些中间文件,并且,当你下次再在此机器上编译时,也用不着再从头编译一次了。推荐的做法,将ProjectConfig/General/OutputDirectory & Intermediate Directory设置为:$(SolutionDir)../tmp/$(ProjectName)/$(ConfigurationName)。这样你就可以很轻松地应付诸如上面提到的情况了。如果你的项目中还有Custom Build产生的文件,也记着将它们的Custom Build Step/General/Outputs设置到$(SoluctionDir)之外。有很多宏可能你也不曾注意,我们在设置工程配置时,有很多地方都可以按图1所示点击<Edit…>然后在图2中出现的对话框中点击下面的[Macro]按钮就能看到这些宏了,不过要注意在用它们时是要用“$()”包起来的。

 ProjConfig

1

ProjectMacro

2

 

2.   看看你的ProjectConfig/Linker/General/Output File是不是还是默认的形如这样的设置$(OutDir)/TestCase.exe,如果是,那你应该改改了,把Release版本改成$(SolutionDir)../Bin/$(ProjectName).exe,而Debug版本改成$(SolutionDir)../Bin/$(ProjectName)D.exe,这样的好处一是在于可以避免污染源代码目录,将编译的执行文件放到单独的目录Bin中,而使用宏的好处是在于以后复制,你可以把这段设置复制到一个专门的小文本文件中,下次直接复制,不用更改。不过,最好的办法不是复制,嘿嘿,我后面再说^^

 

3.   注意你的ProjectConfig/C/C++/Language/Treat wchar_t as Built-in Type,如果编写DLL时打开这项,有可能其它工程设置不同的不能链接通过。还有ProjectConfig/C/C++/Code Generation/Runtime Library如果设置不一致,可能通过链接,运行时报些灵异的错误,也可能你DEBUG时看到灵异的数据。

 

4.   是否还在使用ProjectConfig/Linker/Input/Additional Dependencies设置相应的Lib文件?试试用这个吧:

#if defined(USE_DEBUG_LIB) || defined(_DEBUG)

#    pragma comment(lib, "Lib/XUtilD.lib")

#else

#    pragma comment(lib, "Lib/XUtil.lib")

#endif

这个预处理指令可以帮你省掉很多事。最好把它放在.cpp文件中,即使以后改起来也会不会影响太多的文件重编译。

 

5.   初始建立工程时打开ProjectConfig/General/Character SetUse Unicode Character Set,这样会迫使你在字符串时加上_T(“”)宏。即使以后你需要编译成MBCS的工程也不会有什么麻烦,但是,如果你想从MBCS切换到UNICODE来编译时,你可能会遇到一大堆字符串转换的问题。

6.   …to be continue

这个是完整源码 python实现 Django 【python毕业设计】基于Python的天气预报(天气预测分析)(Django+sklearn机器学习+selenium爬虫)可视化系统.zip 源码+论文+sql脚本 完整版 数据库是mysql 本研究旨在开发一个基于Python的天气预报可视化系统,该系统结合了Django框架、sklearn机器学习库和Selenium爬虫技术,实现对天气数据的收集、分析和可视化。首先,我们使用Selenium爬虫技术从多个天气数据网站实时抓取气象数据,包括温度、湿度、气压、风速等多项指标。这些数据经过清洗和预处理后本研究旨在开发一个基于Python的天气预报可视化系统,该系统结合了Django框架、sklearn机器学习库和Selenium爬虫技术,实现对天气数据的收集、分析和可视化。首先,我们使用Selenium爬虫技术从多个天气数据网站实时抓取气象数据,包括温度、湿度、气压、风速等多项指标。这些数据经过清洗和预处理后,将其存储在后端数据库中,以供后续分析。 其次,采用s,将其存储在后端数据库中,以供后续分析。 其次,采用sklearn机器学习库构建预测模型,通过时间序列分析和回归方法,对未来天气情况进行预测。我们利用以往的数据训练模型,以提高预测的准确性。通过交叉验证和超参数优化等技术手段,我们优化了模型性能,确保其在实际应用中的有效性和可靠性。 最后,基于Django框架开发前端展示系统,实现天气预报的可视化。用户可以通过友好的界面查询实时天气信息和未来几天内的天气预测。系统还提供多种图表类型,包括折线图和柱状图,帮助用户直观理解天气变化趋势。 本研究的成果为天气预报领域提供了一种新的技术解决方案,不仅增强了数据获取和处理的效率,还提升了用户体验。未来,该系统能够扩展至其他气象相关的应用场景,为大众提供更加准确和及时的气象服务。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值