-1
我知道一些算法和行內彙編可以取決於平臺。例如,如果你編寫了一個編譯器,編譯器的源代碼是否會依賴於平臺,並且如果我編譯了你的編譯器,我必須使用與我的體系結構相對應的相同版本的源代碼?何時代碼與平臺相關?
我知道一些算法和行內彙編可以取決於平臺。例如,如果你編寫了一個編譯器,編譯器的源代碼是否會依賴於平臺,並且如果我編譯了你的編譯器,我必須使用與我的體系結構相對應的相同版本的源代碼?何時代碼與平臺相關?
如果你做任何事情需要理所當然的東西,可以改變語言;包括但不限於:
編輯:那我忘了是假設整型的大小,char
,short
,int
,long
,long long
最大 一個 - 這些類型由有序大小,但幾乎沒有保證;而最常見的拱門在長度等方面有所不同......所以c99引入了int8_t
int16_t
...等類型。
使用硬件外設,寄存器,中斷,時序假設,存儲器映射... –
實際上,您已經將兩個問題嵌套在一起,而每個問題都過於寬泛。我確定的問題:1)如何知道我寫的代碼是否便攜。 2)如何編寫一個跨平臺的編譯器。 –
請原諒此評論。只要你的代碼做出了不受平臺無關標準支持的假設,你就是依賴於平臺*。無論這是針對*特定的*平臺還是平臺的子集,都沒有真正的相關性。有很多方法可以進入這個池,坦白地說太多了,但我相信你會看到的一些答案會展示其中的一些。像POSIX這樣的標準存在,相信我,取決於你所編碼的體系結構,它們可以從微不足道變成非常難以遵守的標準。 – WhozCraig