我可以使用arm-linux-gnueabi-*
工具鏈編譯使用我的android設備的文件(例如C或C++源代碼)嗎?arm-linux-gnueabi工具鏈與arm-linux-androideabi工具鏈。
我的問題似乎有點傻,但我會得到相同的結果與arm-linux-androideabi-*
編譯工具鏈?
我可以使用arm-linux-gnueabi-*
工具鏈編譯使用我的android設備的文件(例如C或C++源代碼)嗎?arm-linux-gnueabi工具鏈與arm-linux-androideabi工具鏈。
我的問題似乎有點傻,但我會得到相同的結果與arm-linux-androideabi-*
編譯工具鏈?
編譯可能不僅僅意味着將源代碼轉換爲二進制文件。像GCC這樣的編譯器也提供了某些庫,在這種情況下,用於處理硬件無法處理的內容。當編譯器成爲工具鏈時,它還提供了由編程語言標準化的運行時庫,類似於目標系統中提供的庫。在arm-linux-gnueabi-
的情況下,可能是libc和arm-linux-androideabi-
即bionic。
可以生產兼容的目標文件由不同的編譯器使用,這就是elf是。
您可以生成靜態可執行文件,它可以在尺寸強大,他們應該在任何匹配的硬件/內核工作,因爲在這種情況下,工具鏈瞄準這一點。
但是,如果您生成動態可執行文件,那些文件只能在支持其相關性的系統上運行。因爲一個簡單的「hello world」應用程序不是由arm-linux-gnueabi-
構建的靜態應用程序,因此它不能在Android系統上工作,因爲它提供仿生功能,而不是libc。
你可以使用任何ARM的工具鏈爲ARM架構會爲你工作。(只記得32位/ 64位的差) –
非常感謝你! – bolzano