會,因為C/C++的規范不是特別嚴格,有時候不同編譯器對規范的理解不一樣。最經典例子就是
i = 0; j = i++ + i++ + i++;...
❷ Quartus ii 同樣的代碼(Verilog) 編譯結果不同,求解答。
軟體版本不同是有差異的,先確定管腳分配正常,點開pin planner查看,或是直接看生成的pin 文件,直接覆蓋不一定有效,還有如果使用了一些老的IP核的話也要確定下這部分
❸ 相同的代碼,不同編譯器下結果不同,究竟哪個是正確的
我覺得可能與代碼有關系,不同編譯器不同的編譯模式是存在差異的,包括浮點運算,代碼優化方面是有不同
❹ C語言同一段代碼,同樣的文件,編譯器為什麼運行結果不一樣
有如下幾種可能:
1 代碼運行的平台硬體不同。
不同的CPU,如嵌入式CPU,intel CPU,以及IBM的CPU,在硬體最底層就是不同的,而C語言是一門和底層相關性極大的語言,在不同的硬體上運行出不同結果是很正常的。
2 代碼運行的系統不同。
相同CPU在不同操作系統上跑相同代碼時,一樣會出現不同的結果。這是由於系統底層的實現不同造成的。比如Linux和Windows,在底層處理上就有一定的差異。
3 編譯器不同,同時代碼中使用了C規范未定義規則的語句。
C語言規范並沒有對C語言的所有行為做定義,所以相同語句,不同編譯器的運行效果可能有所不同。比如同樣的sizeof(int),在16位編譯器上結果為2,而32位編譯器上就會是4。
4 代碼獲取到的外部數據不同。
比如運行代碼時獲取到的其它輸入不同,包括程序中獲取的環境變數,實時信息,以及各種外部輸入等,均有可能出現不同。
比如在做隨機數時,如果以當前時間設定隨機數種子,由於每次的時間是不同的,同一個程序每次運行的結果都是不同的。
❺ 同樣的一串代碼,在VC 和DEV C 兩個編譯器里的結果不同,怎麼回事
scanf("%f",&x);
表示從標准輸入中讀取一個浮點數並將其賦值給x。你應該輸入一個合法的浮點數,而不是一個字母,否則將導致未定義行為。
❻ 大家有沒有遇到過相同的代碼生成的程序執行結果不同
2005有個毛病就是反應遲鈍
有時候你改好後的代碼要過段時間才能在編譯器內改變
雖然你重新生成了, 所以有時候你改了後的代碼還是上次的結果,要等會才變成你改後的結果
於機器的配置也有關系
❼ 相同的代碼在相同的電腦相同的編譯器編譯兩次後的代碼是否完全一樣
有時間戳 ,運行結果一樣,MD5不同
❽ 為什麼相同的代碼相同的編譯器在不同電腦上的運行結果不同
函數f1中的變數c,你在未初始化的情況下就使用了,就是這句while(c!=0)。這時c的值是不確定的。
❾ 同樣一段代碼,為什麼編譯器不同會不同結果
這很正常,每種語言的標准只是給出了該語言實現的最小集合,而廠家或者開源社區做編譯器的時候,只要遵循這些標准就可以,在此基礎上增加的非標准功能,就有可能不一致了。
❿ 同樣的代碼運行兩次結果不同
Thread表示線程的意思,創建線程時肯定會創建不同的ID
每一個ID標識的是唯一的一個線程,它們會獨立執行;為了保證它們不互相干擾,肯定需要在創建的時候生成不同的ID