Re: [問題]請問在FreeBSD底下設計程式
恩..
我確實是有些工作沒做好
不過我那個*res的位置是malloc出來的所以應該不會有問題
※ 引述《tinlans.bbs@whshs.cs.nccu.edu.tw (汀)》之銘言:
> 1. 請勿撰寫類似以下的程式碼
> char *foo()
> {
> char str[] = "12345";
> return str;
> }
> 2. 用 gcc 編譯的話請開 -Wall 選項,並把所有 warning 正確的解決...
> 譬如說以上程式碼會造成 warning: function returns address of local variable
> 相關知識請參考 C 語言基礎書籍,講 scope 和 lifetime 那章...
> 有關 segmentation fault 的資訊,
> 可以參考任何 Unix 或 Linux Programming 書籍,
> 在 signal 那章...
> 另外請參照這類書籍說明 gdb 的部分,
> 以協助您利用 dump 出來的 core 檔搭配執行檔進行除錯,
> 要做這個動作麻煩您在編譯時加個 -g 或 -ggdb 的參數,
> 這樣通常就能精確抓到問題所在...
> 至於 process 會收到這個 signal 的原因,
> 主要是 pointer 指到 process 被 OS 授權存取的記憶體以外的區間,
> 然後又對該 pointer 進行存取而造成的,
> OS 會攔截這個的原因是基於安全和穩定性的考量...
> 簡單說就是程式寫錯,
> pointer 沒初始化就拿來用,
> 或是根本不檢查 library function 傳回的是不是 NULL 等等的可能性都有..
--
★ <師大附中 BBS 站> bbs.hs.ntnu.edu.tw ★ From: sw169-71-109.adsl.seed.net.tw
討論串 (同標題文章)
FreeBSD 近期熱門文章
PTT數位生活區 即時熱門文章