??xml version="1.0" encoding="utf-8" standalone="yes"?> 后来发现问题出现?/p>
q里Q配|文仉说的很清楚的
默认的是匿名可读的,现只要添?/p>
可以了
?Borland Turbo c 的源代码UL到GNU gcc
内容
TurboC 的大概内?br>TurboCZ而生??
其他Ҏ(Alternate Approaches, 不知道是不是q样译)
TurboC的特点与不
下蝲和安装TurboC
未来的计?br>Z么要用这么可qlogo?
TurboC的大概内?
TurboC是一个可q接的库同时也是一大堆C语言的头文g,是ؓ了更Ҏ地在GNU gcc,也就是在cUnixpȝ?~译那些用原来在Turbo C~译器编译的MS-DOSpȝ的C语言的源文g,概括如下:
通过Turbo C的conio.x里的ncurses的实?br>通过Turbo C的graphics.h里的Xlib的实?br>一些其他的函数和ؓ了方便的节省旉的特?br>一U克服了Turbo C和GUN gcc的整型数据类型差异的Ҏ
但不怎么?q也不是一个完的解决Ҏ,但是你会发现它还是有用的.你可以在它相关的早期的发展阶D|到graphics.h的帮?
TurboC遵于GNU的LGPL协议(Lesser General Public License).
TurboCZ而生??
我写q很多基于MS-DOS的用Borland公司的Turbo C 2.0~译器编译的E序.当由于爱好的原因,我想把其中一些代码以自由软g的Ş式存?我便惛_了把q些代码发布在GPL?是MS-DOS的代?慢慢的把它们转换成类Unixpȝ的代?很明?预先直接的去转换(MS-DOS--> *nix)是一件很耗时的工?而且渐渐?我遇C困难,因ؓ发布一个别人无法理解其源代码的的Y件ƈ不是一件好?而我最喜欢的发布开源的频道fleshmeat??MS-DOS,因此它很文雅的拒l了我的MS-DOS目.
很显?现在的需要是更底层的,然后我就惛_了我可以提供合适兼容的Turbo C的库和头文g,q样,把Turbo C的源码引到类Unixpȝ׃单得?也就是说,提供旧版本的MS-DOS的类Unix版本是一件相对容易很多的事情.但究竟这个容易去到哪?跟你要引q的E序的很多东襉K有关.
其他Ҏ(Alternate Approaches, 不知道是不是q样译)
对于conio.h的功?你可以考虑使用pablo Vidal的UConio的库来代?但是我没有用过,所以无法说出其好长与不?不过它肯定提供比TurboC提供一个少得多的Conio的功能的子集.而且它也会要求你更大范围的修改你的源代码.
Borland公司已经有了(或许会提?一个Linux版本的C++~译?q样的话,它的nature,h和这个编译器的目标工作^台将是一个谜.一U假?象Kylix)是它将Zwine?所以它只可以工作在x86的系l上?但是,如果它包括了在TurboC上实现的?那样,老实?他提供了一U更单的的方法来把你Turbo C的源代码引入到Linux?但如果这L?它将会是非常庞大?Ҏ自己来说,管已经是一个很久的borland公司的用户了,但我q是非常希望用GNU gcc来编译我的程?
对于graphics.h的功?有一个Csaba Biegl, Michael Goffioul, and Hartmut Schirmer的GRX?直到graphics.h的功能还有一点还没写完的时?我才发现了这个库,因此我还没来得及很充分的试?它的目标是要成ؓ一个多q_?D囑փ?它的官网没有宣传(甚至没有提到)与Turbo C的兼Ҏ?然?它只包括了非常少量的与Turbo C同名(当然q有相同功能)的功?
当然,如果你只是感兴趣在类Unixpȝ上运行你的程?同时也反Ҏ其他E序引到cUnixpȝ?那你也可以在linux版本的DOS emulators 下运行你已经存在的程?DOS emulation使用?dosemu ?freedos ,在x86pȝ上工作得非常?同时 bochs ?freedos在非x86cUnixpȝ上工作的也不?但可能有Ҏ).
TurboC的特点与不
特点
TurboC 提供了Turbo C的conio.h头文件控制台的大部分功能,与相关的ncurses的功能一一对应.(当然,除了scanf之外的conio.h的功能都有提?
TurboC提供了Turbo C的graphics.h头文?BGI"的大部分功能.到目前ؓ?2002 06 08),除了临时~Zstroked-font的支?q些特点的实现已l完成的很彻底了.
TurboC提供了这些丢q功能诸如strupr和strlwr的功能的很少的东?
L认可提供的方法的完整列表:
不
请参考bugs和issues的完整列?到目前ؓ?q个库文件只是我在特定的我写的Turbo C的程序所需要的那么完整,随着我引入的我以前的E序到类Unix pȝ的多h,TurboC的库大概才会愈来愈完?到目前ؓ?本质上conio.h的支持已l完整了,除了昄文本?graphics.h的支持也本质上完整了.
在已l引q的E序?除非你用了xterm,要不然文本控制台的窗口指挥逻辑上自动调好尺?q不会physically地去调整.如果你用了诸如KDE控制Ccȝ其他控制?用户必须Zؓ地去调整?
Borland的Turbo C?6位的~译?但是我目标的GNU gcc~译器是32位的,l果产生了整型的数据cd的差?TurboC用宏的方法处理了(但愿)更普遍的情况.没有处理的情况会在编译的时候报?用户必须手动M?在用L面会被详细介绍.
用基于诸?getcha, cprintf或其他的控制台来混合Z的功能(?getchar, printf,其他),很可能会不工?你也可以览usage page.
下蝲q安装TurboC
下蝲源代?br>*Most-current development code (20040218) TurboC-dev.tar.gz
20020602 snapshot TurboC-20020602.tar.gz
20020419 snapshot TurboC-20020419.tar.gz
20020418 snapshot TurboC-20020418.tar.gz
20020323 snapshot TurboC-20020323.tar.gz
20020317 snapshot TurboC-20020317.tar.gz
20020312 snapshot TurboC-20020312.tar.gz
tarball里包括了一个教TurboC-source的文件夹,你可以简单的在这个目录下用make来编译库.但必LGNU gcc或者用gmake(例如在FreeBSD或Mac?来编?提示,在FreeGSD?你要~辑makefile和注?反注释开头的若干?你会很容易看到的),我已l检验了最q释出的snapshot(不是开发者的snapshot)q在以下pȝ试了程?
Linux Intel 'x86 (SuSE 8.0)
Linux PowerPC (SuSE 7.3)
FreeBSD (4.5)
(早期的TurboC的库好像在FreeBSD上工作的效果不怎么?请升U到20020420的版?q且在运行引入的E序的时候按照下面的步骤).最q释出的snapshot只在SuSE8.2上测试过.
把这个库(libTurboC.a and libTurboCu.a)攑֜你系l放库的地方--通常?/usr/lib.把所有的头文件放到它应该攄地方--通常?/usr/include.又或?你也可以d它们的链接到q些目录.又或?把它们放C喜欢的地?然后在gcc里用参数 -L?I来连接它?
在我的系l?我是q么做的.
cd ~
tar -xzvf TurboC-dev.tar.gz
cd TurboC-source
... ~辑FreeBSD的makefile ...
make (or gmake)
su
ln -s *.h /usr/include
ln -s libTurboC.a /usr/lib
exit
你会发现(例如,在FreeBSD)如果你在你引入的E序?include了TurboC的头文g,你的~译器会报错:标识W链接太?symbolic links being "too deep").如果是这L?你可以把上边的ln命o的参?-s"L.
另外,~译Makefile当然会假定X-windowpȝ的头文g和库;如果q个假定是错的话,你就要你的编译器加上参数"-L"?或?-I"来调?X-windowpȝ必须~译全部的库,或者你要运行你的程?如果你要用到graphics.h的功?如果你不打算使用q些功能,你可以通过~辑Makefile和去掉编译器参数?-DWITH_X"在没有X的系l上引入和编译你的程?
未来的计?
?很明显这U项目是没什么前途的,它的计划只不q是从一个古老的~译器里引入它的代码.然?我还是会在我q个目里根据需要增加一些特性的.我不会浪费精力去写一些没有在我Turbo CE序力出现过的功能的,但如果你自己已经写了而又告诉了我,我是很乐意加q去?把荣辱加l你).
当然,很希望你能把TurboC的bugq回l我,(当然在这之前,ȝ看Buglist有没有这个问?,我会力L正它们的.
Z么要用这么可qlogo?
q是一q姐妹在谈话的图?dLynn Rothan的杰?我试图表辄意思是,它表C很相似的c~译?Borland Turbo C和GUN gcc的关p?当然?lynn有他自己的意?请参考他的网?
sudo apt-get subversion
然后可以用svnadmin create project来创建项目了。之后修改passwd和svnserve.cnf文g都没有什么难度。不q发现ubuntu server没有redhat的chkconf指oQ不q我也不懂这个指令是怎样工作的)。尝试过?etc/init.d/rc3.d/里做链接。不q不成功,可能是我的文仉接有问题,N了ubuntu论坛,没有扑ֈ{案。最后,只能通过/etc/rc.local来达到我的目的了?/p>
rc.local在是pȝ启动后就执行,也就是说你没有登陆前执行了
rc.local脚本只是一个在各运行别里到rc.d目录的rc.local脚本的Y链接而已Q编h大,所以被rc脚本执行时在各运行别的初始化末进行?br>在rc.local里设|的最好是pȝU别而非用户U别的,因ؓ启动脚本的初始化与用h养I启动脚本初始化完成后Q才q入用户d界面Q。与用户相关的最好设|shell的配|文件如~/.bash_profile