关于编译器不愿意说的那些事。
计算机发展了好多年。当中也不泛有很多对程序的爱好。
很多人不是专业水平,也不是在算法类中特别出众,就是喜欢而已。
好像认为自己就只那个水平,或者为一些调试不通过发愁。
可以说,实际上都不是你的错,是编译器的错误。
现在我展开讲讲。
早在28年前,计算机报上就宣布了一个很小幅面的一个事件。
事件大概是这样子的:在世界上,一个拿计算机科学奖的人,公布了一段只有一行的C语言代码,用的表达式,可以把PI这圆周率计算到500多位。
总字符不超过150位字符。说明了C灵活性很强。
后来进入windows时代,很多人入不了门槛,要么程序很简单,要么根本不会。感觉windows编程不容易。
原因很多,其中之一就是编译器的问题。我说说编译器的问题,看大家有没有遇见过。
现在很多学习C语言的人在windows 下用的是VC6.0 VC6.0已经很早了吧。
正确的VC配置方法是安装VC6.0或以上版本之后。
安装一个intel Compiler 器 VC是 8.1版的。
然后再装一个Visual.Assist助手,搜索文件,填写函数,失误率会少很多。
个人认为,一些重要的函数还是自己写一个放心一点,哈哈。我是业余的,程序也不值钱,所以很懒。
C的链接器会出现链接错误,而这些错误对一个程序模块来说,这个程序是没有问题的。
说明编译器不支持这个功能。另外链接器也会有问题。
链接器会在你的程序上加个”头“代码,你的程序才可以挂到windows 或DOS下执行。就是启动代码和启动数据。
而且方法有很多,这就是VC 的参数 /Mxx 的由来,会加不同的启动代码。
还有终级秘密,哈,大家都在探索。
这两天在玩汇编语言。
太老了,链接器也不好用。windows 下兼容性强的不就是VC link吗,还是老调。
我就把实际上的困难摆摆吧。
我现在用的是RADASM这个编辑器。以后会陆续增加的,解决会删掉。
这程序是asmevent.asm 编译通过,到链接时就不通过。
路径不对看见了吗? RADasm + masm32 V 11 这两个是免费软件。
这个测试程序是test Project.asm 也是 RADasm的一个例子。源码断点。
radasm上的不通过。就到这里了,以后慢慢加。两个小例子。