作者beagle (红茶犬)
看板Ladies_Digi
标题Re: [举手] 可以问在Linux上使用C的问题吗?
时间Mon Jun 1 13:23:03 2009
※ 引述《ninaro (ninaroN NN )》之铭言:
: PS:本身是C新手(跑过一点点程式)
以前用哪一种 compiler ?
Linux 的 compiler 一律是 gcc 系列, 但开发环境 (IDE) 有很多种,
我自己是完全不用 IDE, 只用文字编辑器写 source code,
然後直接用 gcc+make compile 成执行档...
: Linux的超新手(只看过入门书还没在平台上使用过)
: 过一阵子入学会接触,故自己先念而产生下面问题,
: 希望前辈们能帮助後学解惑,感谢^^
: 我的问题如下:
: Unix是由C写成,而Linux是Unix-like,C虽可不受硬体限制,但是否会受OS限制呢?
最早的 Unix 是大部份 C 小部份组合语言写成的, 但 Unix 家族众多, 血统复杂...
Linux 这非纯正血统的突变种也是大部份 C 小部份组合语言写成的...
但不同 Unix 之间有不少相异之处, 并非只要是用 C 写出来的就一模一样...
C 有与 OS 无关的标准 library, 也有 OS 相关的 library,
stdio, stdlib 这些都是与 OS 无关可以直接移植的...
conio, "windows.h", Direct X 这些就是 OS 相关的部份...
初学者最常遇到麻烦的是 pause(), 这是 DOS 才有的 function ...
: 如在Linux下跑C需要修改什麽?
如上所述, 看情形, 也可能不需修改就能用。
使用越多 Windows 函式库, 移植难度就越高。
牵涉到视窗 UI 介面的部份是完全不同, 几乎需要整个重写,
不过初学者应该还没学到才对...
纯文字介面就不用太担心了...
: 需要下载不同的compiler吗?
: 麻烦各位了,感谢^^
Linux 安装光碟通常会内附完整 gcc (GNU Compiler Collection),
安装时有选就会装上去, 但不同 distribution 选择元件的方式不一样...
因为你说你学的是 C, 我这篇里面讲的都是 C 语言的相关名词,
如果你学的其实是 C++, 其实跨平台移植的道理也是相通。
--
桃乐丝: 可是, 如果你没有头脑, 为什麽会说话?
稻草人: ㄝ, 我也不知... 但是有些人没有头脑也能说超~多话呢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.64.34
1F:推 ninaro:我不知道我用的是哪种compiler耶@@ 软体是Div C++ 4.9.9.2 06/02 16:11
2F:→ beagle:喔, 我要问的就是 Dev C++ 06/02 16:17
3F:→ beagle:不要用 pause() 就好了, 应该没啥大问题 06/02 16:17