導航:首頁 > 源碼編譯 > o語言開發編譯

o語言開發編譯

發布時間:2022-07-25 19:04:18

Ⅰ C語言編譯.o時提示undefined reference to `main'怎麼辦

一般是缺少相應的頭文件,新建項目時 選擇console application,不要選MFC的那種項目。

主函數應該寫成int main(),你寫成mian了。

Ⅱ macbook pro如何用oc語言編程

oc指的什麼語言啊 objc?還是O『caml啊 objc直接app store 裝xcode就行了 非mac也可以用GNUStep裝objc 就是不太好用 個人感覺提交回答

Ⅲ O語言的語法基礎

O中間語言的注釋與C語言注釋文本方式相同,行注釋為兩個英文右斜杠 // 塊注釋為 /* */
//這是行注釋
/*這是塊注釋

*/ 目前中間語言共實現了下列格式的指令
變數A = 變數B 賦值指令
變數A += 變數B 加法指令
變數A++ 自加1指令
變數A -= 變數B 減法指令
變數A -- 自減1指令
變數A *= 變數B 乘法指令
變數A /= 變數B 除法指令
變數A %= 變數B 求模指令
變數A &= 變數B 與操作指令
變數A |= 變數B 或操作指令
變數A ^= 變數B異或操作指令
變數A @= 變數B 取地址指令
變數A >>= 變數B 位右移指令
變數A <<= 變數B 位左移指令
變數A~ 求反指令
變數A <=> 變數B 互換指令
其中:
變數A可以是8位、16位和32位數據變數
變數B既可以是8位、16位和32位數據變數,也可以用立即數代替(除互換指令外),比如:
變數A += 0×1234 下面介紹的條件語句中的<條件>可以是:
(變數A == 變數B)
(變數A != 變數B)
(變數A > 變數B)
(變數A < 變數B)
(變數A >= 變數B)
(變數A <= 變數B)
(變數A !> 變數B)
(變數A !< 變數B)
多個條件可以用 或者符號|| 並且符號&& 進行聯接,比如:
(((變數A == 變數B) || (變數C > 變數D)) && (變數E <= 變數F))
如果語句如果(<條件>)
{
//語句塊
}
類似C/C++的if語句。
如果條件成立就執行語句塊,也可以寫成:
若(<條件>)
{
//語句塊
}
否則如果語句否則如果(<條件>)
{
//語句塊
}
類似C/C++的else if語句。
如果條件成立就執行語句塊,必須與前一個語句為「如果」語句或「否則如果」語句匹配使用,也可以寫成:
又若(<條件>)
{
//語句塊
}
否則語句否則
{
//語句塊
}
類似C/C++的else語句。
必須與前一個語句為如果語句或否則如果語句匹配使用,也可以寫
成:

{
//語句塊
}
循環語句循環(<條件>)
{
//語句塊
跳出; //break
繼續; //continue
}
類似C/C++的while語句。
如果條件成立則執行{}中的代碼,再判斷條件,滿足則繼續執行語句塊,直到不滿足才跳出。循環中可以在任何地方使用「跳出;」來跳出循環(不管是否滿足)。也可以使用「繼續;」語句直接進入下一次條件判斷。
執行…當語句執行
{
//語句塊
跳出; //break
繼續; //continue
}當(<條件>)
類似C/C++的do…while語句。
與循環語句相似,只是判斷條件在語句塊之後,也就是說語句塊至少會被執行一次。
設語句設(語句1;<條件>;語句3)
{
//語句塊
跳出; //break
繼續; //continue
}
類似C/C++的for循環。
整數 i,j=0;
設(i=0;i<=100;i++)
{
j++;
}
i和j將循環100次
先執行語句1,再判斷條件語句,滿足,執行語句3,再執行{}中的語句,再判斷(注意不再執行語句1),滿足,繼續……如此循環,直到不滿足語句2為止。 標簽 標簽A:
跳到 標簽A;
跳到語句與C語言的goto語言作用相同,在函數內直接跳轉到標簽所定義的位置執行。 函數可以有多個返回值,這必須在函數定:
有多個函數值時必須使用括弧()
函數 函數名(整數32,整數32)=>(整數32,整數32,結構體名)
{
//函數體
返回(0×1234,變數A,結構A);
}
要接收返回值
如果只有一個返回值可以用
變數A = 函數名(1,2); 或者 函數名(1,2)=>變數A;
如果有多個返回值則必須用下列格式:
函數名(1,2)=>(變數A,變數B);

linux系統中 「.o」文件一般是什麼語言寫的

.o是目標二進制文件,一般來說就是一堆指令碼組成的文件,他本身有已重定位和未重定位之分,一般採用的是elf文件格式(建議可以參考elf文件的說明)。可以通過gcc工具鏈中的objmp工具(如果是ppc的使用objmpppc.exe -S 目標.o、如果是mips的使用objmpmips.exe 目標.o)

Ⅳ C語言代碼怎麼編譯成.o文件再怎麼變成.exe文件

linux下gcc -c wen.c -o wen.o 生成.o文件gcc wen.o -o wen 就變成.exe文件

Ⅵ 請問:c語言編譯成功後生成後綴名為.o的文件,什麼東東,什麼作用。

是編譯成功後的文件。
以hello.c為例:
先將源文件編譯成目標文件:gcc - c hello.c。生成hello.o文件,再將目標文件編譯成可執行文件:gcc -o hello hello.o
這樣就生成了可執行文件,在./hello就可以運行hello了。

Ⅶ O語言的介紹

O語言是一款中間計算機語言(或稱套裝),它具有傳統匯編語言的基本特點,也有與它們諸多不同之處。目前窗口設計、界面描述語言、O中間語言已經能很好的整合在一起(1.0.2.2版),基本有VB的事件驅動和窗口設計功能(但還不能創建COM控制項,自帶控制項也很少)。

Ⅷ c++語言編程如何進行編譯

這個問題真不好回答。我嘗試作答,不採納沒關系,我可能說了半天也沒說到重點。
首先要一張將要被編譯的文件的文件列表,例如windows平台vc上的項目文件,linux平台的makefile里要寫。Mac的xcode. android的.mk文件,都是需要來描述的。然後設置編譯參數。包括cpu指令集以及運行平台,調試版本,優化,引用庫 等等。接下來開始編譯

所謂的編譯 實質就是編譯之前 列表裡的h,c 等格式文件先編譯成obj文件(Mac平台mm文件和C++文件是不是都是編譯成obj不清楚)。放在一邊,然後根據配置,如果是應用程序(apk,app,exe)那麼 執行鏈接。 否則 就是簡單的放到一起 生成一個.lib(windows,mac) .so .a(linux,android)。
編譯時先執行 比 預編譯還要早的預編譯宏。具體是什麼 查下 我不記得了。然後執行預編譯。然後執行編譯 聲明 以及 實現。將實現編譯進obj,符號表 編譯到 pdb(windows) android那邊是什麼格式忘記了,因為我沒鏈接過。這個符號表 應該 僅僅是為了調試而用,當代碼因為異常而崩潰時,可以調用 查找 符號表,得到 代碼 崩潰所在行。windows可以生成dmp文件。linux,android可以生成coremp文件。
我的理解就是那麼多了,希望對你有所幫助。

Ⅸ O語言的簡述

O語言是一款中文計算機語言(或稱套裝),各部分開發狀態:
O匯編語言(簡稱OASM,√)
O中間語言(簡稱OML,√)
O高級語言(簡稱OXX,×)
界面描述語言(簡稱OFL,√)
窗口設計(√)
目前窗口設計、界面描述語言、O中間語言已經能很好的整合在一起(1.0.2.2版),基本有VB的事件驅動和窗口設計功能(但還不能創建COM控制項,自帶控制項也很少)。 顧名思義O匯編語言也是一門匯編語言,它具有傳統匯編語言的基本特點,也有與它們諸多不同之處。O匯編語言一個最大顯著的特點是支持語言配置,使得它可以支持所有你想支持的語言,當然,O匯編語言的初衷是為了支持中文,所以它可以非常好的支持中文匯編。如果你已經習慣了其它英文的匯編模式,比如你喜歡用EAX、EBP類似這樣的方式來命名寄存器,不要緊,只需要修改一下語言配置文件,這可以輕松做到。O匯編語言另一個顯著的特點是指令使用非常直觀和人性化,在不缺失匯編語言靈活性的情況下,使匯編語句的語意可以很直觀地表現出來,這主要得益於用了一些象徵性的符號,使得匯編語句不再是千篇一律的(指令 寄存器,內存操作數) 這樣的格式,而是更像 (寄存器 操作符 內存操作數)這樣的格式,不但容易理解,而且便於記憶,使匯編語言不再那麼枯燥,使人一團霧水。
當然,在這里我還是著重介紹怎麼用中文來編寫程序,匯編語言通常是分段的,O匯編語言也是如此,下面是O匯編語言的基本格式:
.位模式 32 ∥指明是16位、32位還是64位的代碼
文本編寫方式 符號編寫方式
∥這里包含一些頭文件和庫的引用
.包含文< 文件名 > 《 》
.引用庫< 庫文件 > 〈 〉
∥數據段
.數據段 ︻
{
} ︼
∥只讀段
.只讀段 ﹃
{
} ﹄
∥外部引用段
.引用段 ︽
{
} ︾
∥代碼段開始
.代碼段 ︷
{
∥開始函數定義
∏主函數()
{
∥這里添加代碼
}
} ∥代碼段結束 ︸
首先介紹注釋方式,O匯編語言使用行注釋與塊注釋方式,並分別支持兩種符號編寫方式。第一種支持C語言模式的注釋方式,即:以」//」雙左斜杠為行注釋符,以」/* */」作為塊注釋符。第二種方式是以『∥』這個符號作為行注釋的開始,以」「 」」這兩個符號作為塊注釋符。在一行中只要遇到行注釋符,這行內以這個符號之後的文字都被忽略,在兩個注釋塊符號之間的所有文字也都被忽略。
// 這行內這之後的文字被忽略
/*
這些文字被忽略
*/
∥ 這行內這之後的文字被忽略

這些文字被忽略
」 O中間語言可以說是匯編語言的抽象,它和匯編語言一樣,使用單句的語法,除了基本的條件句和函數調用外,基本的一條指令對應一條語句,因此,它比C語言在語法上更低級一些。這樣設計的目的是為了保持底層足夠大的靈活性,使前端代碼比較容易地映射到中間語言。C語言毋庸置疑是很強大,Pascal語言也非常強大,但是你很難將兩者代碼進行相互轉換,如果使用中間語言作為中間層,就能夠兼容兩者的語法。
O中間語言使用了掛載技術,使前端代碼的解析與後端代碼生成操作進行了分離,使用這一技術只須擴展相應的前端語法就能支持多種語法。所有掛載的介面都封裝在OMount.dll的動態鏈接庫中。
與O匯編語言相比之下的特色:
1.去除了匯編中段的概念(方便調用API,仍保留「引用段」)。
2.增加了控制台和動態鏈接庫的創建。
3.增加數組支持。
4.增加for語句,格式:設(;;;){}
5.增加do...while語句,格式:執行{}當()
6.增進循環語句。
7.增加字元變數。
8.去除了匯編語言中的寄存器概念。
9.增進了語法,「如果」也可以寫成「若」等。
10.支持英文語句,如「函數」可寫為function,如果寫為if,否則寫為else,.包含文寫為.include等等。
11.可以直接支持masm32的宏定義。
12.可以直接使用O匯編的函數,須在引用段進行調用,調用方式為API的調用方式。
13.增加了指針支持。

閱讀全文

與o語言開發編譯相關的資料

熱點內容
類似7z002的壓縮文件如何解壓 瀏覽:559
移動dsn伺服器地址 瀏覽:689
90後女性嫁給程序員 瀏覽:302
fcm演算法原理 瀏覽:803
上海興力壓縮機 瀏覽:699
什麼app可以推送小區 瀏覽:592
韓國解壓視頻網站 瀏覽:619
做庫管用什麼app 瀏覽:35
pdf轉dwg怎麼轉 瀏覽:55
單片機微小電阻測量 瀏覽:138
表格25兆怎麼壓縮 瀏覽:69
java開發公司的 瀏覽:131
東風天錦壓縮車工作指示燈不亮 瀏覽:985
劍俠情緣1源碼 瀏覽:532
cad2011怎麼轉換成pdf格式 瀏覽:966
傳祺gs5安卓車機如何還原車機 瀏覽:900
單片機和編程器互相傳輸數據 瀏覽:92
app訂單怎麼取消 瀏覽:469
程序員用雙顯示器有什麼作用 瀏覽:613
網約車演算法殺熟 瀏覽:8