當前位置:編程學習大全網 - 編程軟體 - 為什麽我用VC6.0編譯的串口通信的小程序,編譯通過了但是,通信的時候老是出現基礎類出錯的提示呢?

為什麽我用VC6.0編譯的串口通信的小程序,編譯通過了但是,通信的時候老是出現基礎類出錯的提示呢?

說幾個問題,

要學習vc6.0 必須使用xp系統, 因為win7的安全性太高,和部分動態鏈接庫的改變,導致壹些程序無法運行.

並且 在winxp 能看出到底是哪裏出錯了.例如 緩沖溢出了,winxp就會報警 什麽什麽地址read 錯誤導致程序崩潰,,很明顯就知道 緩沖溢出,,,,而win7 不會 就像妳發的這個圖壹樣,壹個告警什麽都不知道

其次,編譯的時候沒有任何錯誤,只是說明 語法沒有任何錯誤,但不代表 程序沒錯誤

例如

int *i;

*i=123;

上面的兩句沒有任何語法錯誤,但是,壹運行 就崩潰了,提示 內存不可寫

出錯了原因 很明顯,沒有給指針i 賦壹個地址的值,就想給壹個虛無縹緲的地址寫入123,當然報錯

下面就沒問題了

int a;

int *i=&a;

*i=123; //將123寫入a中.

串口通信 無非跟 讀寫文件壹樣,利用了 read 跟 write 函數

出錯的原因是 讀或寫 函數的

第二個參數 是不是壹個 虛無的指針?

或者 第壹個參數 串口的文件指針 不存在

或者 第三個參數大於跟第二個參數的大小?

  • 上一篇:Jframe程序運行出來就壹個框,按鈕,文本框都看不到,請問問題在哪裏?
  • 下一篇:FF 總線技術具體功用
  • copyright 2024編程學習大全網