關於編寫安全程式碼的問題,這個沒有統一的辦法。這裡以c語言程式設計為例進行說明,根據我多年編寫程式的經驗,通俗地說,只能夠靠自己在編寫程式碼的過程中多增加一些邏輯判斷語句,以及在程式設計過程中判斷記憶體是否溢位而產生的系統崩潰。後面舉兩例如下。
至於說有些電腦安全問題是電腦使用者所無法控制的(例如:任何一種計算機作業系統,肯定都是會有很多安全漏洞的,這個問題我們是無法解決的)。
例一:編寫一個兩個整數進行除法的c語言程式#include<stdio.h>
void main
{
int n1n2
scanf(“%d%d&n1&n2);/*從鍵盤輸入兩個整數*/
p=(char*)malloc(1000000);/*為p動態分配一個大小為1000000個位元組的記憶體區域*/
if(p==NULL)/*若動態記憶體分配失敗,則輸出“記憶體分配失敗”資訊,然後退出應用程式*/
pritf(memory allocation failured!\n");
exit(1)
}
gets(p);/*若記憶體分配正常,則從鍵盤上輸入一串字元*/
puts(p);/*將輸入的一串字元顯示在電腦螢幕上*/
free(p);/*釋放前面為字元指標變數p動態分配的記憶體*/
關於編寫安全程式碼的問題,這個沒有統一的辦法。這裡以c語言程式設計為例進行說明,根據我多年編寫程式的經驗,通俗地說,只能夠靠自己在編寫程式碼的過程中多增加一些邏輯判斷語句,以及在程式設計過程中判斷記憶體是否溢位而產生的系統崩潰。後面舉兩例如下。
至於說有些電腦安全問題是電腦使用者所無法控制的(例如:任何一種計算機作業系統,肯定都是會有很多安全漏洞的,這個問題我們是無法解決的)。
例一:編寫一個兩個整數進行除法的c語言程式#include<stdio.h>
void main
{
int n1n2
scanf(“%d%d&n1&n2);/*從鍵盤輸入兩個整數*/
p=(char*)malloc(1000000);/*為p動態分配一個大小為1000000個位元組的記憶體區域*/
if(p==NULL)/*若動態記憶體分配失敗,則輸出“記憶體分配失敗”資訊,然後退出應用程式*/
{
pritf(memory allocation failured!\n");
exit(1)
}
gets(p);/*若記憶體分配正常,則從鍵盤上輸入一串字元*/
puts(p);/*將輸入的一串字元顯示在電腦螢幕上*/
free(p);/*釋放前面為字元指標變數p動態分配的記憶體*/
}