SylixOS IDE工具使用

       1. 問題描述

        使用RealEvo-IDE(以下簡稱IDE)開發程序時,誤操作輸入錯誤的函數名稱時,編譯器不會報錯,輸入錯誤的函數名示例代碼如程序清單 1.1所示。

程序清單 1.1 示例代碼

#include <stdio.h>
 
int main (int argc, char **argv)
{
    print("Hello World!\n");
 
    return  (0);
}

       控制檯輸出編譯結果如 1.1所示。

image.png

 圖 1.1 編譯結果

在虛擬機上運行該示例程序,運行結果如 1.2所示。

image.png

圖 1.2 運行結果

2. 問題分析

1.1可知IDE附帶的編譯器默認使用的參數爲:

-nostdlib -Wl,-shared -fPIC -shared

   其中參數“-Shared”,表示生成共享目標文件,通常在建立共享庫時用到。鏈接器可以使用這種文件跟其它的可重定位文件和共享目標文件鏈接,產生新的目標文件。

      3. 示例驗證

Linux環境下,測試用例如程序清單 1.1所示。

通過“gcc”編譯器編譯,添加“-Shared”參數編譯時會報警告,編譯結果如 3.1所示。

image.png

圖3.1 使用shared參數編譯結果

不使用“-Shared”參數編譯會出現錯誤,編譯結果如 3.2所示。

image.png

圖3.2 不使用shared參數編譯結果


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章