主题:检测CPU的基本信息的程序
windy0will
[专家分:2300] 发布于 2011-09-13 20:19:00
这个程序 用C语言 和少量汇编写的,可以在 AMD Intel 的32位 CPU,windows平台下运行。(据说64位下CPUID指令的行为和32位是一样的,不知道在兼容模式下可不可以运行)其实就是执行 CPUID指令,然后根据返回值输出。
编译的时候需要使用MinGW(GCC), 在cmd中用cd命令进入cpuid目录,输入make 或者(make all),将会在这个目录下生成一个叫cpuid.exe的程序和report.txt的文件。(report.txt其实就是运行cpuid.exe生成的报告文件,包含检测的信息。)
代码稍微多点,组织起来就力不从心了。这个程序的代码 我感觉很混乱。各位大牛可以说下 写代码的时候要注意哪些问题。小弟先谢谢了。
最后更新于:2011-09-15 18:57:00
回复列表 (共3个回复)
沙发
Chipset [专家分:16190] 发布于 2011-09-14 20:55:00
以上附件代码在Win7 x64是没有问题的。
我连小牛也不是,充其量还是菜鸟,呵呵。感觉你附件的代码写的很规范,这点跟你见解不同。
如果你在大学读书的话,把数据结构书上每个变成题目都做一遍。如果时间充裕的话,找几本书看看,既然你把帖子发在C++论坛上,咱就说C++的。
1》C++ Primer PLus,这是比较基础的,或者C++创始人写的一本比较初级的书,名字好象是Programming -- Principles and Practice Using C++。
2》有机会分析一下SGI STL代码,熟悉常用的数据结构和算法。
3》有机会看看编码规范,很多是免费的,例如google的C++编码规范。
4》了解一下并发控制,C++新标准加入了线程和一堆杂七杂八的东西,但似乎市面上这方面的书很少,你可以参考一下boost的文档和代码设计,慢慢熟悉它们能跟上时代步伐。
5》有机会看看Effective系列和C++ Programming Language的书。
6》至少熟悉两个编译器VC++(8.0以上)和gcc(g++4.4以上),两个调试器cdb和gdb,会make file。
注意别浮躁,多写代码。
如果上班了,跟大家一起合做就是了,每个人可能只写某模块的很少一点代码,但是没有关系的,熟悉业务的同时,改善自己的编码水平。
板凳
windy0will [专家分:2300] 发布于 2011-09-15 19:43:00
非常感谢您的建议!
1.我觉得那些代码混乱是指宏,有很多宏调用层次不是很清晰。
2.C++我一直想学好,但每次看一些语法后,觉得语法还懂一点点,但是库一点都不懂,用C++写代码没C语言写得顺手,用C写代码的时间比较多。渐渐的发现,C在隐藏数据方面确实没C++方便,所以更想好好学C++.以后是想弄本《stl源码剖析》来好好学下C++。
3.对于编码规范我接触得不多.写给自己看的代码还好,就是不知道要怎么写才更有可读性。
3 楼
cgl_lgs [专家分:21040] 发布于 2011-09-15 21:05:00
编码规范是非常重要的。
如果windy兄不是那么依赖C99,那么可以考虑用C++编译器编译C程序,然后逐渐加入自己需要的东西:)
至于类库,学过数据结构的基本就会用,最多也就是看几个demo就能搞定了(相信你有这个实力的)。
我来回复