Ladies_Digi 板


LINE

※ 引述《beagle (红茶犬)》之铭言: : ※ 引述《ninaro (ninaroN￾ NN￾ )》之铭言: : : PS:本身是C新手(跑过一点点程式) : 以前用哪一种 compiler ? : Linux 的 compiler 一律是 gcc 系列, 但开发环境 (IDE) 有很多种, : 我自己是完全不用 IDE, 只用文字编辑器写 source code, : 然後直接用 gcc+make compile 成执行档... Linux 下面的 compiler 可不是只有 gcc 喔,它只是最容易取得的一种而已。 比如你如果用 intel 的 processor ,也可以用 Linux 版本的 icc 。 在 compile 的时候会对 processor 的设定作一些最佳化,可能会跑得比较快。 不过我印象中只有试用版是免费的,正式版收费并不便宜。 : : 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 ... 应该要反过来说,每一个 compiler 支援哪些指令,不支援哪些指令, 是看 compiler 的实作方式。一般 C compile 大概至少支援 ANSI C 的标准。 (不过实际上大部份的都没有百分之百完整正确地支援) library 的话其实也不完全是跟 OS 绑定的,只要有装该 library , compiler 在编的时候能认得,就会编得过去。 不过 windows 和 Linux 常用的函式库命名常不相同,所以无法共用一个程式。 如果要用 C 写跨平台程式,那麽使用某些非标准的函式库时, 就可能需要自己写一些 wrapper 把底层不同的实作函式库包成一样的样子, 再让 compiler 透过一些参数来辨认平台作编译的动作。 不过这不是一个 C 的新手应该要去碰的东西,牵扯太广了。 : : 如在Linux下跑C需要修改什麽? : 如上所述, 看情形, 也可能不需修改就能用。 : 使用越多 Windows 函式库, 移植难度就越高。 : 牵涉到视窗 UI 介面的部份是完全不同, 几乎需要整个重写, : 不过初学者应该还没学到才对... : 纯文字介面就不用太担心了... 如果看得懂 warning 跟 error ,就先拿去编,再看缺什麽就改什麽, 尽量用有支援的函式去取代没支援的。反正不对 compiler 都会讲, 自己看 code 很多时候也看不出来。 : : 需要下载不同的compiler吗? : : 麻烦各位了,感谢^^ : Linux 安装光碟通常会内附完整 gcc (GNU Compiler Collection), : 安装时有选就会装上去, 但不同 distribution 选择元件的方式不一样... : 因为你说你学的是 C, 我这篇里面讲的都是 C 语言的相关名词, : 如果你学的其实是 C++, 其实跨平台移植的道理也是相通。 如果不太在意效能,又想要跨平台,就用 java 吧,事情一下子就变单纯了。 如果会 C/C++ 写得熟,转 java 应该勉勉强强不会花太多时间。 -- 我实实在在的告诉你们,一粒麦子不落在地里死了, 仍旧是一粒,若是死了,就结出许多子粒来。 约翰福音 12:24 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.31.132
1F:→ beagle:真没想到会在这边遇到你... 06/01 17:03
2F:→ sitos:阿... 你是谁阿? :) 06/01 18:28
3F:→ beagle:这个问题嘛... 我也常常问我自己... 06/02 10:52
4F:→ beagle:我们没见过面, 交集的话应该是某P老师的个人板... 06/02 10:53
5F:→ sitos:喔.... :) 06/02 12:03







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP