精華區beta CSSE 關於我們 聯絡資訊
一般C/C++程式在編譯的時候 都連結到std c/c++ 的library吧.. 詳細情形我不大清楚 但是一些C/C++ stdandard定義的函式或是物件 都會包含在那些library之中..所以也沒有什麼所謂的printf.c 那主要是給你參考用的, 真正使用到的早就已經成為物件碼形式了 include檔只是未了符合語法上的定義問題罷了... 本來就沒啥用... 至於把include拿掉還會動的問題 我想你大概是用VC++跑的吧... 我想VC++本身大概就會預設引入一些基本的東西 如果是用gcc/g++跑的話...應該就不會這樣了吧... ※ 引述《ikjhyu (還沒想到)》之銘言: : 最近在試一些c++的東西 : 發現一個奇怪的東西 : 如下面程式 : #include <stdio.h> : void main() : { : printf("abc\n"); : } : 程式要使用printf() 所以必須include stdio.h檔 : 而他會去呼叫printf.c : 但是打開 stdio.h檔 : 卻到處找不到他有include的敘述 : 裡面都是一些函式原型的宣告 : 而沒有真正的函式內容檔 : 請問有人知道為什麼這樣程式可以執行嗎? : 而且把stdio.h檔的內容貼到 : 程式裡面再把include敘述拿掉 : 也可以正常執行... : 有點奇怪... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.32.80.72
UNARYvvv:object code .. 應該翻作"目的碼"吧? 61.70.137.117 06/27