回答
main;
是可移植的,段錯誤5chars。
main() { *(int *)0xdeadbeef = 37; }
應該這樣做。
爲什麼37?它應該是42! –
試試這個:
long* ptr = 0x0; //-- you can also use other random values and likely you will segfault
printf("%f", *ptr);
你可以試試:
main() {
char *p = NULL;
char c = *p;
}
這可以通過編譯器的優化器消除。你需要指針指向一個易失性對象才能工作。 –
@AlexeyFrunze:只是不要優化:) –
這應該死:
int main() {
char *die;
printf("%d",(int *)die * 200);
return 0;
}
編輯:
int main() {
char *die;
int killer = 200;
while(1) {
printf("%d",(int *)die * killer);
killer = killer * killer;
}
return 0;
}
爲什麼要這樣做?它是UB,所以它可能,但它也可以打印任意數字。 –
啊,甚至不用gcc編譯。你必須明確地將'char *'轉換爲整數才能編譯(不確定編譯器是否允許隱式轉換,標準沒有,但我認爲只需要診斷,而不是終止彙編)。 –
現在它仍然是UB,因爲您正在使用未初始化指針的不確定值,但我不知道實際上會崩潰的任何實現。什麼是你想如何導致崩潰的想法? –
- 1. 最簡單程序的分段錯誤?
- 2. wxWidgets最小應用程序錯誤
- 3. Flash CC錯誤1136
- 4. 我的程序段錯誤
- 5. Linux的CC編譯錯誤
- 6. Java小程序錯誤
- 7. 小程序加載錯誤
- 8. 編碼程序段錯誤
- 9. Nasm程序段錯誤
- 10. C程序分段錯誤
- 11. 程序有分段錯誤
- 12. Linux程序段錯誤
- 13. 多線程程序中的段錯誤
- 14. 多線程程序中的段錯誤
- 15. 分段錯誤處理程序中的分段錯誤
- 16. CC驗證(LuhnFormula)錯誤
- 17. 語法錯誤:__asm__( 「some_code」 ::: 「CC」)
- 18. 。Java小程序中的類錯誤
- 19. 這個小Java程序中的錯誤
- 20. Java小程序的JButton錯誤
- 21. 簡單的小程序遊戲錯誤
- 22. 導致錯誤的小程序
- 23. 我的程序給分段錯誤
- 24. linklist程序中的段錯誤
- 25. GTK +程序中的分段錯誤
- 26. C++ LFSR程序中的分段錯誤
- 27. 程序結束時的段錯誤
- 28. 該程序中的分段錯誤
- 29. 程序結束時的段錯誤
- 30. OpenGL程序中的分段錯誤
Coredump or segfault?通常'abort()'足以導致核心轉儲,而這實際上是* real *程序的一部分。段錯從來沒有。 –
這是C還是C++?標籤說C,標題說這兩個。 –
@ShafikYaghmour:我的意思是最小的程序,用C或C++編寫*,即段錯誤。如果需要,您可以添加C++標記。 –