我試圖在minix中更改鍵盤驅動程序,我的想法是在文件中存儲使用在keyboard.I中引入的所有字符我聲明一個全局FILE * fp並插入這段代碼/usr/src/drivers/tty/keyboard.cMinix鍵盤驅動程序
while (icount > 0) {
scode = *itail++; /* take one key scan code */
if (itail == ibuf + KB_IN_BYTES) itail = ibuf;
icount--;
/* Function keys are being used for debug dumps. */
if (func_key(scode)) continue;
/* Perform make/break processing. */
ch = make_break(scode);
if (ch <= 0xFF) {
/* A normal character. */
fp = fopen("log.txt","a+");
fprint(fp,"%c",ch);
fclose(fp);
buf[0] = ch;
(void) in_process(tp, buf, 1);
} else ...
然後我運行「make」的目錄,然後重新啓動,但這不起作用。我的意思是,該文件沒有創建。 有什麼想法?
「...不起作用」有點朦朧。請編輯你的問題,並添加一些關於什麼「不起作用」的附加信息。它太慢了嗎?不把密鑰寫入文件?在世界之間打開一扇門,通過它滲出最邪惡的瘟疫生物? –
如果您正在修改鍵盤_driver_(即它在minux內核中),您將無法使用'stdio.h'樣式流[除非minux與我曾經使用過的其他任何unix內核不同] 。你將不得不使用內部minix函數來進行I/O。而且,「開放,寫一個字符,關閉」極其低效[並且可能導致併發症]。打開日誌文件_once_ –
但我認爲minix驅動程序屬於用戶空間,並且在此minix教程中使用stdlib函數... http://wiki.minix3.org/doku.php?id=developersguide:driverprogramming –