文号
t78221
阅读
10258
回复
13
收藏
7
关于合理选用编译器的问题
2015/12/12
IP:福建
鄙人不才,粗通谭浩强的《C语言程序设计》。近来在图书馆找到一本老书,是《C语言程序设计实训》,里面讲了很多图形设计、数字音乐鼠标应用等等内容,我想提高自己的水平,故选用它。但是里面的编译器是tc2.0,或者borland c3.1实现的。我用VC6.0就不行,而且写出的程序只能在编译器中运行,一但单独打开,说什么操作系统X86、32位、64位什么乱七八糟的我都没看懂。
所以我想找一款能代替tc2.0,3.0的。不过我的需求是,这款编译器能实现有TC2、3.0原有的功能。
我用的系统是windows7,64位的。
11年0个月前修改于 11年0个月前IP:山东
800580
1楼
老书害人啊, 编译器推荐Visual Studio 2015  或者devcpp也不错,比较小
引用
评论
11年0个月前IP:北京
800604
2楼
codeblocks也不错界面很友好
引用
评论
11年0个月前IP:四川
800621
3楼
能编译DOS程序的编译器
Borland C++ 5.02(支持Win98/XP)
Borland C++ 4.5(支持Win3.x/98/XP-32)
Borland C++ 3.1(支持DOS)
那些程序很可能用到大量的DOS API,因此只能编译为DOS程序,无法编译为Windows程序
运行DOS程序建议使用DOSBox
在Windows中实现DOS API的功能需要使用WinAPI,然而并不能一一对应,所以最好的方法还是使用DOSBox
引用
评论
11年0个月前IP:浙江
800622
4楼
用老TC编译器编译后的东西不能在现有的windows平台甚至是64位机上使用,只能在模拟器里用。
老书看懂了就行了,学会原理即可,实际的应用要用现在上市的环境下使用,最好用现代的ide和编译器来开发,树上的功能一样能实现的,甚至更简单方便。要与时俱进嘛
引用
评论
11年0个月前IP:浙江
800674
5楼
不同的编译器对C/C++标准的支持程度不一样,默认的警告等级也不一样,对于古老的TC之类的没必要太在意
顺便提一句,谭浩强的书害人,推荐看点现代的教材
引用
评论
11年0个月前IP:山东
800676
6楼
引用 phpskycn:
不同的编译器对C/C++标准的支持程度不一样,默认的警告等级也不一样,对于古老的TC之类的没必要太在意
顺便提一句,谭浩强的书害人,推荐看点现代的教材
这几年出的书 还有用TC的呢,真不知道这帮人是怎么想的
引用
评论
11年0个月前IP:福建
800704
7楼
引用 张静茹:
老书害人啊, 编译器推荐Visual Studio 2015  或者devcpp也不错,比较小
老书很经典,不过VS2015,甚至2013我都不会安装,因为体积过大,还找不着下载的地方。
引用
评论
11年0个月前IP:福建
800706
8楼
引用 acmilan:
能编译DOS程序的编译器
Borland C++ 5.02(支持Win98/XP)
Borland C++ 4.5(支持Win3.x/98/XP-32)
Borland C++ 3.1(支持DOS)
那些程序很可能用到大量的DOS API,...
如果我通过改变或创建预定义文件来代替呢?比如tc中的DOS.H与VC的就不同,如果我新建预定义再引用呢?可是不会啊。
引用
评论
11年0个月前IP:广东
800720
9楼
引用 张静茹:
老书害人啊, 编译器推荐Visual Studio 2015  或者devcpp也不错,比较小
devcpp个人觉得很适合学习c语言打下基础。
引用
评论
11年0个月前IP:四川
800791
10楼
引用 张静茹:
这几年出的书 还有用TC的呢,真不知道这帮人是怎么想的
毕竟XP是可以支持TC2.0和VC6.0的。。。等过几年用XP的人少了以后,TC2.0和VC6.0就淘汰了。。。
引用
评论
11年0个月前修改于 11年0个月前IP:四川
800822
11楼
引用 季节逝去:
如果我通过改变或创建预定义文件来代替呢?比如tc中的DOS.H与VC的就不同,如果我新建预定义再引用呢?可是不会啊。
还是老老实实用DOSBox吧。。。DOSBox也不大,比.NET Framework和Java Runtime Environment小太多。。。
学会了DOS编程也不是一点用处也没有的,至少比什么程序都没写过强,以后要写类似的程序也会上手更容易一些。。。
引用
评论
11年0个月前IP:四川
800826
12楼
编写音乐,在Windows中可以用Beep函数
绘图,在控制台是无法进行的,需要新建一个窗口并使用GDI函数绘图
使用鼠标,分控制台和图形界面两种情况
控制台,可以用SetConsoleMode打开鼠标输入,并使用ReadConsoleInput读取鼠标输入
图形界面,鼠标是原生受支持的,对窗口的WM_LBUTTONDOWN等事件消息进行处理即可
DOS下的表格字符,在936中文控制台是全角的,在437英文控制台是半角的,不统一,最好是用ASCII中的【+、-、|】这三个字符替代
DOS API在Windows中并不总是像Beep函数那样有一一对应的关系,因此大多数Windows编译器都没有实现完整的DOS API
引用
评论
11年0个月前IP:四川
800850
13楼
除Borland C++以外,以下编译器也可编译DOS下的16位程序,但是不太好用,不推荐
Microsoft C/C++ 7.0(支持DOS)
Visual C++ 1.52c(支持Win3.x/98/XP-32)
以下编译器可编译DOS下的32位程序(通过386处理器和DOS保护模式接口DPMI)
Watcom C/C++(使用DOS/4GW)
DJGPP GCC(使用CWSDPMI)
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的