YOLO 板


LINE

※ [本文轉錄自 Gossiping 看板 #1SzydGFl ] 作者: jserv (松鼠) 看板: Gossiping 標題: Re: [問卦] 為甚麼C語言自訂函式一定要在主程式上面? 時間: Wed Jun 5 21:55:19 2019 ※ 引述《fragmentwing (片翼碎夢)》之銘言: : 如題 : 最近終於開始自學C語言 : 為甚麼C語言一定至少要放個原型在主程式上方才行? : 或者說,明明都是一行一行讀取,其他語言是怎麼做到可以把函式到處亂擺的 這問題非常好,我不知為何會引來負面聲音,可能是原發問人沒有把「其他語言」清楚 標示出來吧?抑或是問題太簡短呢?有趣的問題如果被忽略,那真是太可惜。 其實由 Dennis M. Ritchie (以下簡稱 dmr) 開發的早期 C 語言編譯器 [1] 沒有明確 要求 function prototype 的順序。dmr 在 1972 年發展的早期 C 編譯器,原始程式碼 後來被整理在名為 "last1120c" 磁帶中 [2],我們如果仔細看 c00.c 這檔案,可發現 位於第 269 行的 mapch(c) 函式定義,在沒有 forward declaration [3] 的狀況下, 就分別於第 246 行和第 261 行呼叫,奇怪吧? 而且只要再瀏覽 last1120c 裡頭其他 C 語言程式後,就會發現根本沒有 #include 或 #define 這一類 C preprocessor [4] 所支援的語法,那到底怎麼編譯呢?在回答這問題 前,摘錄 Wikipedia 頁面的訊息: > As the C preprocessor can be invoked separately from the compiler with > which it is supplied, it can be used separately, on different languages. > Notable examples include its use in the now-deprecated imake system and for > preprocessing Fortran. 原來 C preprocessor 以獨立程式的形式存在,所以當我們用 gcc 或 cl (Microsoft 開發工具裡頭的 C 編譯器) 編譯給定的 C 程式時,會呼叫 cpp (伴隨在 gcc 專案的 C preprocessor) 一類的程式,先行展開巨集 (macro) 或施加條件編譯等操作,再來 才會出動真正的 C 語言編譯器 (在 gcc 中叫做 cc1)。值得注意的是,1972-1973 年 間被稱為 "Very early C compilers" 的實作中,不存在 C preprocessor (!),當時 dmr 等人簡稱 C compiler 為 "cc",此慣例被沿用至今,而無論原始程式碼有幾個檔 案,在編譯前,先用 cat [5] 一類的工具,將檔案串接為單一檔案,再來執行 "cc" 以便輸出對應的組合語言,之後就可透過 assembler (組譯器,在 UNIX 稱為 "as") 轉換為目標碼,搭配 linker (在 UNIX 稱為 "ld") 則輸出執行擋。 所以說,在早期的 C 語言編譯器,強制規範 function prototype 及函式宣告的順序 是完全沒有必要的,要到 1974 年 C preprocessor 才正式出現在世人面前,儘管當時 的實作仍相當陽春,可參見 dmr 撰寫的 "The Development of the C Language" [6] C 語言的標準化是另一段漫長的旅程,來自 Bell Labs 的火種,透過 UNIX 來到研究 機構和公司行號,持續影響著你我所處的資訊社會。 你或許會好奇,function prototype 的規範有什麼好處呢?這就要從 "Rationale for International Standard -- Programming Languages -- C" [7] 閱讀起,依據 C9X RATIONALE 的第 70 頁 (PDF 檔案對應於第 78 頁),提到以下的解說範例: extern int compare(const char *string1, const char *string2); void func2(int x) { char *str1, *str2; // ... x = compare(str1, str2); // ... } 編譯器裡頭的最佳化階段 (optimizer) 可從 function prototype 得知,傳遞給函式 compare 的兩個指標型態參數,由於明確標注了 "const" 修飾子,所以僅有記憶體地 址的使用並讀取相對應的內容,但不會因為修改指標所指向的記憶體內容,從而沒有產生 副作用 (side effect)。這樣編譯器可有更大的最佳化空間,可對照「你所不知道的 C 語言:編譯器和最佳化原理篇」,得知相關最佳化手法。 一如 C9X RATIONALE 提到,C 語言和其他受 Algol 影響的程式語言,都具備 function prototype 機制,這使得編譯時期,就能進行有效的錯誤分析和偵測。無論是 C 語言、 B 語言,還是 Pascal 語言,都可追溯到 ALGOL 60 [9]。 ALGOL 是Algorithmic Language (演算法使用的語言) 的縮寫,提出巢狀 (nested) 結構 和一系列程式流程控制,今日我們熟知的 if-else 語法,就在 ALGOL 60 出現。 ALGOL 60 和 COBOL 程式語言並列史上最早工業標準化的程式語言。 可參見本看板 #1SdKXN4t 程式語言的演化,深受底層工具和硬體限制的影響,這次探討的 function prototype 及函式宣告的順序,其實就反映出編譯器演化的歷程。人類史上第一個編譯器,A-0 System 開發於 1951-52 年間,注意到當時的用語是 "System",而且名稱 A-0 代表 Arithmetic Language version 0,與其說是今天我們提及的高階語言編譯器,不如說是 程式的載入器 (loader) 或連結器 (linker)。 相關訊息可參見本看板 #1RhWSNPG 黑格爾在其 1820 年的著作「法哲學原理」提到: (德語原文) > Was vernuftig ist, das ist wirklich; > und was wirklich ist, das ist vernuftig. 英語可解讀為 "What is rational is actual and what is actual is rational.", 像是 C 語言這樣的工業標準,至今仍活躍地演化,當我們回顧發展軌跡時,凡是合乎 理性 (vernuftig),也就必然會出現、或成為現實 (wirklich),反過來說也成立。 甚至我們可推敲 C9X RATIONALE 字裡行間,每個看似死板規則的背後,其實都可追溯出 像是上方的討論。 歡迎關注「你所不知道的 C 語言」系列講座: https://hackmd.io/@sysprog/HJpiYaZfl 千萬別忘了 C 語言的發展就是為了開發 UNIX 作業系統和相關系統程式,而 Linux 核心 自然就是將 UNIX 精神發揚光大的智慧結晶,歡迎關注「Linux 核心設計」課程,附有 線上教材: http://wiki.csie.ncku.edu.tw/linux/schedule [1] Very early C compilers and language, https://www.bell-labs.com/usr/dmr/www/primevalC.html [2] 位於 GitHub 的副本, https://github.com/mortdeus/legacy-cc/ [3] https://en.wikipedia.org/wiki/Forward_declaration [4] https://en.wikipedia.org/wiki/C_preprocessor [5] cat 工具程式的作用是 "concatenate and print file", https://www.unix.com/man-page/posix/1posix/cat/ [6] The Development of the C Language, https://www.bell-labs.com/usr/dmr/www/chist.html [7] Rationale for International Standard -- Programming Languages -- C http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf [8] 你所不知道的 C 語言:編譯器和最佳化原理篇, https://hackmd.io/@sysprog/Hy72937Me [9] Algol 60, https://en.wikipedia.org/wiki/ALGOL_60 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.82.61 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Gossiping/M.1559742928.A.3EF.html
1F:推 XXXXHAY: 頭 06/05 21:55
2F:→ Costco5566: hello world 06/05 21:56
3F:推 sujianwei20: 前十 06/05 21:56
4F:→ moswu: 我也這麼覺得 06/05 21:56
5F:推 jiajia1: 快來推ㄍ不然被當文組 06/05 21:57
6F:推 Ericz7000: 前十 06/05 21:57
7F:推 he00504616: 先推 06/05 21:57
8F:推 angerD: 先推 06/05 21:57
9F:推 siamese: 這不是基本的嗎 06/05 21:58
10F:推 a22918097: 推 06/05 21:58
11F:推 VXcc: 嗯嗯嗯 就是這樣 06/05 21:58
12F:推 ggBird: 神 06/05 21:59
13F:推 fox875566: 看不懂 06/05 21:59
14F:推 Cybershit: 大大安安推一個 06/05 22:00
15F:推 Friend5566: 推一下 免得被說看不懂 06/05 22:00
16F:推 redDest: 推 06/05 22:00
17F:推 landysh: 推 06/05 22:00
18F:推 lturtsamuel: 看到這篇好像我不是CS的一樣QQ 06/05 22:00
19F:推 rewrite404: 朝聖 06/05 22:01
20F:推 g5637128: 跪著推 06/05 22:01
21F:推 pzyc79: 這就是為什麼我恨C 06/05 22:01
22F:推 gungunme5566: 專業 06/05 22:01
23F:推 brian1015: 推 06/05 22:02
24F:推 Mesa5566: 116一定是廢文 幫補血 06/05 22:02
25F:→ obdv: 淦 這樣摸不到C罩拉 06/05 22:02
26F:推 barry910543: 大神又出來普渡眾生了 06/05 22:02
27F:推 HowieH: 看不懂還是要推 06/05 22:02
28F:推 NTULioner: 嗯嗯 我也是這樣想的 06/05 22:02
29F:推 Turas: CCC 06/05 22:02
30F:推 OGCOGCOGCOGC: 看不懂 06/05 22:03
31F:推 TrevorStory: 推 06/05 22:03
32F:推 salesperson: 恩恩跟我想的一樣 只是我懶的打 06/05 22:03
33F:推 cjamhe01385: 每次線上講座必看,可惜在新竹上班,不然就去旁聽了 06/05 22:03
34F:→ ymx3xc: 我也是這麼想的 06/05 22:04
35F:推 compuworld: 朝聖推 06/05 22:04
36F:推 hizuki: 講古 06/05 22:04
37F:推 WYchuang: 老闆問我為什麼跪著上班 06/05 22:04
38F:推 jackyT: 這個釣到jserv太扯 06/05 22:05
39F:→ FlynnZhang: 卡 06/05 22:05
40F:推 jimmy1999: 錢錢 06/05 22:05
41F:推 allomifo: 推 06/05 22:06
42F:推 tongzhou: 朝聖 06/05 22:06
43F:推 eric21489: 太神啦 釣到ㄌ 06/05 22:06
44F:推 tcfsh510: 推 朝聖 06/05 22:06
45F:推 Ericz7000: 之前老師有去交大上物聯網什麼的課啊 06/05 22:06
46F:推 faker007: 看無 06/05 22:07
47F:推 choco7: 恩恩 跟我想得差不多 06/05 22:07
48F:推 nqj: 嗯嗯對丫 06/05 22:08
49F:推 jackwula9211: 不過C++某些時候還是很好用啊 06/05 22:08
50F:推 u04rmp: 快推 06/05 22:09
51F:推 terryshu: 推 06/05 22:09
52F:推 andy188: 前百 06/05 22:09
53F:推 max8568: 有神快拜 06/05 22:09
54F:→ ZhouGongJin: 只能給個讚 06/05 22:09
55F:推 q13461346: 跪了 06/05 22:09
56F:推 rong1994: 嗯嗯 我也是這麼認為的 06/05 22:10
57F:推 nicklyyyy: 嗯,跟我想說的差不多 06/05 22:11
58F:推 mmonkeyboyy: 推一下 認真 還用RANDY的書 XD 06/05 22:11
59F:推 ajason0753: 先跪再說 06/05 22:11
60F:推 Hacker8246: 沒錯 就是這樣 06/05 22:12
61F:推 jahfone: 那為什麼有些程式語言不這樣用呢? 06/05 22:13
62F:推 devilkool: 神 06/05 22:13
63F:推 Fice: 推 06/05 22:13
64F:→ chaige: 跟我想得差不多 中間有地方小錯但無傷大雅 可以接受 06/05 22:13
65F:推 DanielHAO: 恩恩跟我想的一樣 06/05 22:13
66F:→ a0652qj: 完全看不懂,剛好也箭頭XD 06/05 22:13
67F:推 ploveh: jserv下凡 06/05 22:13
68F:推 hardway: 太會了吧 06/05 22:14
69F:推 hohamita: 推 06/05 22:14
70F:推 s0805744: 看完覺得大學對不起我教授 06/05 22:14
71F:→ jserv: @jahfone, 最初C語言不用理會函式定義的順序,最終能夠處理 06/05 22:15
72F:→ jserv: 符號(symbol)之間的相依狀況即可。是後來C語言才變嚴格的 06/05 22:15
73F:推 kipi91718: 推! 好詳細長知識了 寫了這麼久的C都不知道標準來由 06/05 22:15
74F:推 cattgirl: 你在寫期刊 06/05 22:17
75F:→ jserv: @Ericz7000, 之前我在交大資工系還開了「自由開源軟體與 06/05 22:17
76F:推 CityRanger: 廢物cs生看不懂 QQQQQ 06/05 22:17
77F:→ jserv: 專案協作」: https://sites.google.com/site/fossapc/ 06/05 22:17
78F:→ jserv: @kipi91718, 沒事,我只是練習打字,下次請鼓勵發問的人 06/05 22:18
79F:推 donkilu: 推 06/05 22:19
80F:推 mmonkeyboyy: 這本書台灣不是很多人用的 根本是OS基石 06/05 22:19
81F:→ jserv: @jackwula9211, 針對 C++ 可講古的題材更多啊...嘶 06/05 22:20
82F:推 iamnotme: 有神快拜 06/05 22:22
83F:推 Gold740716: 但既然身為編譯式語言,完全可以分析完整份檔案再開始 06/05 22:23
84F:推 smonke: 好~! 完全不懂...還是給推 06/05 22:23
85F:推 justatree: 推 06/05 22:23
86F:推 iverlung: 有神快拜 06/05 22:23
87F:推 palapalanhu: 神 06/05 22:23
88F:→ Gold740716: 最佳化吧?哪個在先哪個在後其實可以忽略。 06/05 22:24
89F:→ jserv: @Gold740716, 涉及到 side effect 06/05 22:24
90F:→ Gold740716: cs 這篇看不懂可以自盡了 06/05 22:24
91F:推 kyrie77: 嗯嗯嗯 跟我想的差不多 06/05 22:25
92F:推 amethystboy: 一定要先推 06/05 22:26
93F:推 cattgirl: 你是不是成大教授 06/05 22:26
94F:推 aa55667878: 推 06/05 22:26
95F:→ lusifa2007: 快推一個不然人家以為我們不懂Xd 06/05 22:26
96F:推 nonopig: 推 跟我想的是一樣 06/05 22:27
97F:→ cattgirl: 我朋友交大教授 與你決一死戰 06/05 22:27
98F:推 fjyang: 神 06/05 22:28
99F:→ jserv: @cattgirl, 可以請你朋友等我大學畢業,再來決鬥嗎? 06/05 22:28
100F:推 ry3298: 推 06/05 22:29
101F:推 DarkerDuck: 推推 06/05 22:29
102F:推 kis28519: 有神快拜 06/05 22:30
103F:→ ccucwc: 認真推 06/05 22:32
104F:推 roro0: 好強 XD 06/05 22:34
105F:推 kingofage111: 推 06/05 22:35
106F:推 ERT312: 學程式語言還要讀歷史 06/05 22:35
107F:推 yuxds: 推 06/05 22:37
108F:推 justastupid: 嗯嗯 你說的沒錯 06/05 22:41
109F:推 wju1230: 有貓給推 06/05 22:41
110F:推 ShittyFace: 先推再看 06/05 22:41
111F:推 bmks: 推個 06/05 22:41
112F:推 vita88: 好啦,我看不懂 06/05 22:42
113F:推 Wand: 推 06/05 22:42
114F:推 skhten: 怕 06/05 22:42
115F:推 arsonlolita: 嗯嗯 06/05 22:42
116F:推 ab37695543xs: 所以簡單的來說就是為了更容易在編譯時期找到錯誤與 06/05 22:46
117F:→ ab37695543xs: 最佳化囉? 06/05 22:46
118F:推 atpx: 算是有表達到我的想法, 給你75分 06/05 22:46
119F:推 knme: 推 06/05 22:48
120F:推 ljsnonocat2: 有神快拜 06/05 22:51
121F:推 sismiku: 恩 跟我想的差不多 06/05 22:52
122F:推 KNVSEOC: 就算一知半解也要推 06/05 22:53
123F:→ minicoke: 德文你也懂? 06/05 22:55
124F:推 pazoo: 推 06/05 22:55
125F:推 derekjj: 有神快拜 06/05 22:56
126F:推 kiuan: 推 06/05 22:56
127F:推 gakaza: 跪推 +1 06/05 22:57
128F:推 fallen01: 推 06/05 22:59
129F:推 FJHS: 朝聖 06/05 23:02
130F:推 scoutpioneer: 嗚嗚身為理組還是看不懂 06/05 23:03
131F:→ jserv: @ab37695543xs, 回顧程式語言的發展,人類的想像力很豐富, 06/05 23:04
132F:推 asiamistborn: 7777777777777 06/05 23:04
133F:→ jserv: 像是LISP這類對應到數學抽象思考的語言,很早就提出了。但C 06/05 23:04
134F:→ jserv: 卻走了實務導向的路途,也就是一方面讓語言本身定義嚴謹, 06/05 23:05
135F:→ jserv: 另一方面確保編譯器和連結器得以有效實作出來 06/05 23:05
136F:推 derson: 只能跪著推了 06/05 23:05
137F:推 silentduke: 朝聖推 06/05 23:06
138F:推 yoshihuang8: 推 06/05 23:06
139F:推 pandatom: 朝聖jserv 06/05 23:07
140F:推 voyhanxu: 快推!免得被別人發現我文組的! 06/05 23:07
141F:推 frk2z125: 推 以前計算機很弱,對於記憶體與size更是斤斤計較, 所 06/05 23:09
142F:→ frk2z125: 以能從人這邊規範就規範 06/05 23:09
143F:推 qwer338859: 神 06/05 23:10
144F:推 Missnanako: 嗯嗯 06/05 23:11
145F:推 Misoshiru: 嗯嗯我也是這麼想的 只是懶得打 06/05 23:13
146F:推 ericleft: 原來如此 06/05 23:13
147F:推 lainhoter: 初音只是個軟體 06/05 23:14
148F:推 vasia: 全台文組同學深表贊同 06/05 23:15
149F:推 danny30715: 朝聖 06/05 23:15
150F:推 blackman5566: 寫了大半輩子程式也看不懂這篇在說什麼 只能推了 06/05 23:16
151F:推 probity: 我早告訴過你了 06/05 23:18
152F:推 schumi7401: 正如我想 06/05 23:20
153F:推 lolitass: 趕快推 以免被發現完全看不懂 06/05 23:21
154F:推 youngglasses: 簡單說就是為了最佳化啦.... 越早將宣告的部分寫出 06/05 23:23
155F:→ youngglasses: 在轉換的初期處理的時候就可以更好的安排資源 06/05 23:23
156F:推 mike40709: 沒錯跟我想的一樣 06/05 23:23
157F:推 xu3ru0454: 你及格了! 06/05 23:23
158F:推 blackbottle: 對對對沒錯沒錯 就是這樣 我也是這麼覺得 只是還沒來 06/05 23:25
159F:→ blackbottle: 得及寫文章 06/05 23:25
160F:推 Everyeeeee: 我知道啊 06/05 23:25
161F:推 isisss: 嗯嗯 我也這樣覺得 06/05 23:26
162F:推 gabriel: 八卦好文必須推 06/05 23:28
163F:推 amALu: ......... 06/05 23:31
164F:推 eric112: 原來大家都這樣想 06/05 23:32
165F:推 fg008kimo: 好聞必推 06/05 23:32
166F:推 SamuelLuo: 推,沒想到還能看到德文 06/05 23:36
167F:推 liaon98: 跪著讀 06/05 23:36
168F:推 erre: 這其實真的很基本…… 06/05 23:37
169F:推 Account4PTT: 推 06/05 23:39
170F:推 bbo6uis122: 推 06/05 23:40
171F:推 RoaringWolf: 恩恩,對,就這樣嘛,恩 06/05 23:41
172F:推 Bright: 嗯嗯 對 06/05 23:45
173F:推 zs84: 推 06/05 23:47
174F:推 loet: 推 06/05 23:48
175F:推 omegajoker: 推 06/05 23:49
176F:推 coolda: 先推再看 06/05 23:50
177F:→ notneme159: 推個 06/05 23:53
178F:推 tommy6300167: 跟我想的差不多 打到一半被你先回答了 06/05 23:53
179F:→ ck030561: 唉 本來想開示的 你都講完了 06/05 23:54
180F:推 MagicSword: 嗯嗯,我也這樣覺得。 06/05 23:54
181F:推 randy061: 雖推,但太硬了… 無法看完 06/05 23:55
182F:推 shishe: 推推 學了C語言 但看到你的之後感覺什麼都沒學過 06/05 23:55
183F:推 imaxpayne: 跟我想的一樣 06/05 23:56
184F:推 Matz: 推推 06/05 23:57
185F:推 platinum5566: 長知識了 06/05 23:59
186F:推 a5245242003: 推 06/06 00:00
187F:推 panda04056: 推推 06/06 00:00
188F:推 tweence: 06/06 00:05
189F:推 tom83615: 嗚嗚嗚我廢物 只看得懂3成 06/06 00:07
190F:推 qscez: 推 06/06 00:07
191F:推 jai166: 竟然釣到大神 06/06 00:07
192F:推 rex662624: 推個 06/06 00:14
193F:推 rog43: 感謝老師賜教 06/06 00:16
194F:推 rfireptt: 原來是大神,真的寫的很好,淺顯易懂 06/06 00:21
195F:推 jeromeshih: 推 06/06 00:22
196F:推 ffffffffff: 大神 06/06 00:24
197F:推 jim0611tw: 真的太強 受小弟一拜 06/06 00:24
198F:推 Kent1313: 有神,快推 06/06 00:30
199F:推 milker: 我忙到現在就被你先回文了 可惜 06/06 00:33
200F:推 UROLOGY: 跟我想的差不多 06/06 00:35
201F:推 fragmentwing: 原來一開始也沒被規範啊 淚推大神教授 06/06 00:41
202F:推 charlie0112: 跟我想的一樣 06/06 00:42
203F:推 hakosaki: 不愧是jserv大大 06/06 00:42
204F:→ jkreg: 果然是我大116 06/06 00:46
205F:推 stw0975: 推 06/06 00:50
206F:推 abc53: 這感覺好無趣 06/06 00:52
207F:推 billccchang: j神快推! 06/06 00:56
208F:推 fragmentwing: 再推 06/06 00:57
209F:推 matt4424: 太神啦 06/06 01:00
210F:推 nullife: 太神啦 06/06 01:08
211F:推 erwinia: 推 06/06 01:08
212F:推 patrickwu2: 太神啦 06/06 01:13
213F:推 gyman7788: 對啊,跟我國小學的差不多正確 06/06 01:15
214F:推 blackbottle: 對對 再推一次 06/06 01:16
215F:推 balcony5566: 還在記事本打文章草稿就被你搶先了 可惜 06/06 01:17
216F:推 fragmentwing: 再三推 06/06 01:29
217F:推 fragmentwing: 推 06/06 01:34
218F:推 chingyi071: 只能推了 06/06 01:52
219F:推 milkteafood: 沒錯唷 06/06 02:08
220F:推 a2470abc: 我一定是念了假的cs 06/06 02:11
221F:推 Pictor: 推 06/06 02:12
222F:推 den95279889: .....蒜泥屌 06/06 02:14
223F:推 soto2080: 推 06/06 02:15
224F:推 SMMIT: 強者 推 06/06 02:16
225F:推 Hoshiwa: jserv大神出現啦 06/06 02:18
226F:推 v9290026: 先跪 06/06 02:22
227F:推 oblrtippo: 懶得看了 直接推XD 06/06 02:22
228F:推 motheregg: 777777 06/06 02:23
229F:推 newest: 朝聖 06/06 02:25
230F:推 samonline: 朝聖jserv大大 上次研討會有看到您 06/06 02:36
231F:推 willion003: 有神快拜 06/06 02:36
232F:推 Sacral: 推 06/06 02:57
233F:推 willie6501: 釣到教授啦~ 06/06 03:12
234F:推 wirecut: 先推 06/06 04:11
235F:推 OlogN: 神人推個 06/06 04:41
236F:推 htl: 朝聖推 06/06 04:43
237F:推 dreamdds: 這麼巧跟我想的一樣 06/06 04:46
238F:推 snowball: 推 06/06 05:23
239F:推 romber: Oh God….! 感謝大神宅色夫,學到很多! 06/06 05:30
240F:推 rex44391: 推 06/06 05:45
241F:推 lemonwater: 我高中時也有想過 06/06 05:58
242F:推 ttff: 為什麼我跪著推文 06/06 06:14
243F:推 eternal5566: 嗯嗯 06/06 07:13
244F:推 superex: 推 06/06 07:24
245F:推 CleanThunder: 我資料結構學期成績0分 06/06 07:44
246F:推 NeoLife: 我...我看不懂 06/06 08:15
247F:推 sexyboy5566: 跟我想的一樣 06/06 08:18
248F:→ OGC218: 文組路過 06/06 08:20
249F:推 yuiweq1999: 有神快推 06/06 08:25
250F:→ s37166117: 資工人表示: 06/06 08:26
251F:→ s37166117: 看不懂 06/06 08:26
252F:推 abb123456: 推 06/06 08:36
253F:推 ZC: 理科推 06/06 08:38
254F:→ GakkiMyWife: 我國小電腦課就想到了 06/06 08:45
255F:推 czberlin: 拜請拜請 06/06 08:46
256F:推 freeflying: 好強,但看得懂的沒幾個 06/06 09:28
257F:推 alans: 教書系的?! 06/06 09:36
258F:推 kersihi: 有神快拜 06/06 10:02
259F:推 xhung: 推 這文章太棒 值得收藏~~~ 06/06 10:10
260F:推 jikker: 有神快拜 06/06 10:12
261F:推 jamz: 我不想摸c了,我要g 06/06 10:15
262F:推 kokunmai: 06/06 10:16
263F:推 user1120: 推 06/06 10:45
264F:推 Lydia66: 老師好 06/06 11:03
265F:→ cloudin: 雖然學過 但都忘光了QQ 06/06 11:23
266F:推 atk30257: 長知識了 06/06 11:29
267F:推 ntuee1803: 太神 06/06 11:33
268F:推 vul3kuo: 看不懂的上Complier都在睡覺 06/06 11:41
269F:推 usoko: 只有寫過C-- 嗚嗚嗚嗚嗚 06/06 12:34
270F:推 ms0007912: 不知到但感覺很屌 06/06 12:37
271F:推 ohlong: 你資工系? 06/06 13:10
272F:推 EthereumPTT: 有神快拜 06/06 17:04
273F:推 HowLeeHi: 推,Linker取名ld,所以Linker和Loader是有淵源的吧? 06/06 20:18
274F:→ HowLeeHi: 譬如說在link及load階段,都會做linking和relocation 06/06 20:22
275F:→ jserv: @HowLeeHi, 不僅有淵源,早期根本就是一體的 :-) 06/06 21:11
276F:→ jserv: 可參照「你所不知道的 C 語言」系列講座,有兩項linker相關 06/06 21:11
277F:→ jserv: @balcony5566, 一定是你的記事本軟體不好用,在此誠心建議 06/06 21:12
278F:→ jserv: 改用有媽祖加持的編輯器: Mazu Editor! 06/06 21:13
279F:→ jserv: => https://github.com/jserv/mazu-editor 06/06 21:13
280F:推 gipo776: 先跪 06/06 22:07
281F:推 ikenaka: 老師我愛你 06/07 03:41



※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: okcool (125.230.18.220 臺灣), 06/08/2019 23:34:45







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燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP