当前位置:首页 > 我的程序 > 正文内容

关于编译器不愿意说的那些事。

Peirre5年前 (2020-11-23)我的程序986

计算机发展了好多年。当中也不泛有很多对程序的爱好。

很多人不是专业水平,也不是在算法类中特别出众,就是喜欢而已。

好像认为自己就只那个水平,或者为一些调试不通过发愁。

可以说,实际上都不是你的错,是编译器的错误。

现在我展开讲讲。

早在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这个编辑器。以后会陆续增加的,解决会删掉。

捕获.PNG

这程序是asmevent.asm 编译通过,到链接时就不通过。

路径不对看见了吗? RADasm + masm32 V 11  这两个是免费软件。

捕获1.PNG

这个测试程序是test Project.asm 也是 RADasm的一个例子。源码断点。

radasm上的不通过。就到这里了,以后慢慢加。两个小例子。

分享给朋友:

相关文章

USB设备的插入机制与USB驱动故障。

USB设备的插入机制与USB驱动故障。

USB主机检测设备,首先在USB集线器的每个端口的D+,D-上,分别接了一个15K欧姆的下拉电阻到地。集线器端口为空时,被这两个电阻拉低了电平。在USB设备端,D+或者D- 上接了上拉1.5K电阻。全...

我谈易语言

我谈易语言

易语言是一个集成打包的中文编程的语言。说实话,只要在电脑上的程序,易语言都可以用自己的方式实现。易语言可以开发linux 控制台下的图文程序和工具,十分好用。易语言的源码和例子量很大,精华源码例子已经...

masm32v12编译器自带库masm32.lib在nasm中的使用。

masm32v12编译器自带库masm32.lib在nasm中的使用。

修改了masm32.inc文件在nasm中使用。;╔═══════════════════════════════╗ ;║                       MASM32 库改nasm  ...

雷达新品硬件介绍。

雷达新品硬件介绍。

5.8G雷达模块:这是一个简单的探索物体移动的一个模块,可用于感应移动的物体。电磁波感应和光波补偿感应灵敏度中等,有误判的可能。识别很简单,只判别一个感应高电信号。有挡体就反应电信号。初步识别功能。一...

VC++ 版本升级常见错误一句集。

VC++ 版本升级常见错误一句集。

很多程序源码从低VC版本到高VC版本就发现不能编译,现在说一下常见问题。warning C4838: 从“unsigned int”转换到“INT”需要收缩转换。这是因为 int 整形变量在不同的机器...

Blender 如何建立.mash 和.x文件。(关于Directx 11,OGRE图形库与Blender)

Blender 如何建立.mash 和.x文件。(关于Directx 11,OGRE图形库与Blender)

OGRE图形开发库已经发展很多年了,因为它是免费开源项目,所以使用还很广泛。OGRE图形库应用须要3d图形数据文件,OGRE图形库默认的是.mash 我们有方法制作它。.mash 文件任何3d应用软件...