visual c++6.0(不用keil uVision2)能编单片机C吗 并导入isis模拟软件进行模拟

麻烦详细说明一下,单片机我刚入门 我们上课用的编程软件是keil uvision2 ,模拟仿真软件是ISIS,如何用C编程并模拟

真是异想天开,你思维非常纯洁,开创性思维应该不错。
不过话说回来,我这些已经被经验定性的思维方式告诉你,这是徒劳的。
visual C++6.0是98年古董级开发平台,通常其是针对在windows系统上运行的应用级程序的开发工具,当然,你也可以开发基于windows系统的驱动程序,技术这样你也得另外配置个用于驱动程序开发的软件包。其开发出的程序代码是由windows系统的加载器加载运行的,没有加载器或者说你拿到linux系统都是无法运行的,跟没意义的乱码一个样。

归根的原理是,源代码是c标准,但其编译器与链接器编译时使用windows系统的内核函数实现c的标准功能。如果放到linux系统上,相应的编译器与链接器就会使用linux的内核函数实现c的标准功能。譬如print功能函数源代码虽然一样,但其在windows系统与linux系统上编译生成可执行程序是不一样的,其都是有具体系统的内核函数实现。

话说回来对单片机。其实就是裸机,没有任何系统支持,除非你自己弄个系统上去,但你若能到这个层次,我也不用多解释什么了。所以在单片机上运行的程序都是纯粹的机器码(windows或linux内核函数的代码也是机器码,不过其是针对intel或ibm高级别的芯片的机器码,其由应用程序调用,所以应用程序并不需要太多的执行代码即可完成复杂功能,只需又对系统内核函数的调用指令即可),单片机特定芯片型号使用的机器指令有出入,指令安排方式有出入(也有认为安排出入),所以需要专门的编译器与链接器生成专用的可执行代码,再有专用的加载器(通常所说的下载器:软件加硬件,ISIS仿真会只是对hex或out类型可执行文件解释仿真,也有跟硬件同步仿真功能)加载到硬件执行。

keil uvision 提供了针对不同芯片的可执行代码的编译器与链接器,或者你找别的提供商的,不过可以肯定告诉你的是,微软的c++6.0是没有提供这种编译器与链接器的,所以其无法生成你需要的可执行代码。除非你自己制作的编译器与链接器(这工作没想象的那么简单 )。微软有提供在譬如arm等高级单片机上使用的嵌入式系统开发工具,但这已经远远超出你所说的在单片机上运行代码的范畴了。

如果你但是为了写源代码的话,也没必要用c++6.0了,用 记事本即notepad.exe即可,或edit也行。但你还是要使用专用的编译器与链接器生成针对性的可执行代码,才能加载到实体芯片上或isis仿真软件上运行,没有任何不同的法子,阿门。。。

结束语;
你可以不选择keil C,但微软不是你要找的对象,阿门。。。
c++6.0可以用来编写c源代码,但其编译器与链接器无法生成你要的机器码,你充其量只使用了它的文本编辑功能,这个完全可以用其它文本编辑工具代替。
keil c提供了你需要的c源代码的编译器与链接器(当然也提供了文本编辑器给你写源代码)你可以不选择它,但除非你能找到更好的替代品(如果有更好的,你们老师不会选择keil cl了,阿门。。。)追问

呵呵,老师真厉害,写了这么多。那实际生产中不能用到visual c++吗,而是针对不同系统是用针对其系统开发的不同编译器及链接器吗,visual c++6.0只是平时练习编程的一个工具软件而已(可以这样理解吗),刚入门感觉这些东西在脑子里很乱,谢谢老师指点

追答

如果你要开发单片机的程序,visual c++ 是没用武之地的。

每个开发工具都有其适用的场合,其开发出的东西也都有其适用的环境限制。

最简单的了解莫过于你往百度或维基百科里搜索该工具,通常其适用于干什么,都会有比较好的说明(其实通常你的老师在教你一样东西时如果不告诉你有什么用,用在哪里,那是老师的失职)。

Visual C++ 与C++编程时有差异的,前者属于后者的一个子集,Visual 从字面可见着重的是GUI(图像用户界面)即窗体一类的交互程序的开发,阿门。。。

任何编程所需要的只是一个能编辑文本代码的工具,和编译器与链接器即可(当然,给予编译器与链接器支持的标准库与头文件,GUI程序需要相应的资源编译器),免费的SDK通常就是这几样精简的工具。传统的开发都是基于命令行模式的,即使是你看到的图形化的VC++6.0,只不过是添加许多辅助功能,同时也方便管理,其最终编译链接的工作跟传统的是一个样的,只是集成环境在后台执行了。

不必着急,总有个积累量变到质变的过程,阿门。。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-24
能用,但是要用最新版。然后软件太大不好发,可以到迅雷搜索下载。PROTEUS V7.7 SP2能用WIN7。
相似回答