1. c語言如何自製操作系統
用obj做成二進制,格式是:obj -I elf格式 -S -R ".eh_frame" -R ".comment" -O binary elf文件 最終的二進制文件.例如: obj -I elf32-i386 -S -R ".eh_frame" -R ".comment" -O binary a.obj a.bin
2. 能不能純用C語言編寫磁碟操作系統
理論上是可以的,但實際上與編譯器在相應體系結構中的具體實現有非常密切的關系。在現實中,Linux內核就是用C編寫的,但是在與系統啟動過程有關的部分代碼,還是通過相應體系結構的匯編語言來完成。
3. 用C語言寫電腦的DOS控制台操作系統
cmd命令非常多,寫的話就是命令識別和動作響應兩部分,
命令識別
涉及詞法語法識別,需要編譯技術;
動作響應
調用系統的api即可;
可以用藉助lex和yacc來寫
4. 用C語言編寫操作系統
C語言只是學習編程語言的基礎 現在已經基本不怎麼用了 現在的應用軟體大多都是用JAVA VC++編出來的 而且也不可能是一個人完成的任務。對於操作系統,是匯編語言加DOS的混合物 更是非常巨大的工程 微軟投入一個操作系統的工程要花費幾年、幾百人、幾個億的投入。。。。如果你真的想學 就去學一下計算機原理 介面技術 還有匯編語言 再掌握點DOS 。。。學有所成之後 可以去網上找一些LINUX系統自己改一改 到時候心情會無比的爽。。。 祝你成功
5. 用純C語言能不能寫一個操作系統
C語言當然是可以寫操作系統的,但是操作系統的編寫一般都不僅僅只是用C語言編寫的。 寫操作系統需要編程語言提供以下幾個特徵: 1、跨平台,不能是只在某個平台下編譯(VB就不行); 2、必須是編譯型語言(PHP就不行),或者有一個非常高效的解
6. 求操作系統課設c語言編寫的
下面的程序假設你的當前目錄有一個helloworld程序, 這個你會寫吧? :)
#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
int main()
{
int pid;
int status;
pid = fork();
if (pid == 0) {
/* child process */
execve("./helloworld", NULL, NULL);
} else if (pid < 0) {
/* failed to fork, print error message */
printf("fork error, errno = %d\n", errno);
} else {
waitpid(pid,&status,0)
}
return 0;
}
7. c語言是幹嘛的,做操作系統
是用來編程的
具體如下:
c語言C語言是目前世界上流行、使用非常廣泛的高級程序設計語言。
C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。
C語言具有繪圖能力強,可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫它是數值計算的高級語言。
常用的編譯軟體有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,TurboC等等......
C語言的發展歷史
C語言的發展頗為有趣。它的原型ALGOL 60語言。(也成為A語言)
1963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。
1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。
1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮干,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。
而在1973年,B語言也給人「煮」了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。
為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語言成為目前世界上流行最廣泛的高級程序設計語言。
1988年,隨著微型計算機的日益普及, 出現了許多C語言版本。由於沒有統一的標准,使得這些C語言之間出現了一些不一致的地方。為了改變這種情況,美國國家標准研究所(ANSI)為C語言制定了一套ANSI標准, 成為現行的C語言標准 3.C語言的主要特點 。C語言發展迅速, 而且成為最受歡迎的語言之一, 主要因為它具有強大的功能。許多著名的系統軟體, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。用C語言加上一些匯編語言子程序, 就更能顯示C語言的優勢了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。
C語言版本
目前最流行的C語言有以下幾種:
·Microsoft C 或稱 MS C
·Borland Turbo C 或稱 Turbo C
·AT&T C
這些C語言版本不僅實現了ANSI C標准,而且在此基礎上各自作了一些擴充,使之更加方便、完美。
面向對象的程序設計語言
在C的基礎上,一九八三年又由貝爾實驗室的Bjarne Strou-strup推出了C++。 C++進一步擴充和完善了C語言,成為一種面向 對象的程序設計語言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更為深入的概念,它所支持的這些面向對象的概念容易將問題空間直接地映射到程序空間,為程序員提供了一種與傳統結構程序設計不同的思維方式和編程方法。因而也增加了整個語言的復雜性,掌握起來有一定難度。
C語言的特點
1. 簡潔緊湊、靈活方便
C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。 C 語言可以象匯編語言一樣對位、位元組和地址進行操作, 而這三者是計算機最基本的工作單元。
2. 運算符豐富
C的運算符包含的范圍很廣泛,共有種34個運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
3. 數據結構豐富
C的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據類型的運算。並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。
4. C是結構式語言
結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
5. C語法限制不太嚴格、程序設計自由度大
一般的高級語言語法檢查比較嚴,能夠檢查出幾乎所有的語法錯誤。而C語言允許程序編寫者有較大的自由度。
6. C語言允許直接訪問物理地址,可以直接對硬體進行操作
因此既具有高級語言的功能,又具有低級語言的許多功能,能夠象匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可以用來寫系統軟體。
7. C語言程序生成代碼質量高,程序執行效率高
一般只比匯編程序生成的目標代碼效率低10へ20%。
8. C語言適用范圍大,可移植性好
C語言有一個突出的優點就是適合於多種操作系統, 如DOS、UNIX,也適用於多種機型。
C源程序的結構特點
1.一個C語言源程序可以由一個或多個源文件組成。
2.每個源文件可由一個或多個函數組成。
3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。
4.源程序中可以有預處理命令(include 命令僅為其中的一種),預處理命令通常應放在源文件或源程序的最前面。
5.每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。
6.標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
書寫程序時應遵循的規則
當然,C語言也有自身的不足,比如:C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數族下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。
總之,C語言既有高級語言的特點,又具有匯編語言的特點;既是一個成功的系統設計語言,有時一個使用的程序設計語言;既能用來編寫不依賴計算機硬體的應用程序,又能用來編寫各種系統程序;是一種受歡迎、應用廣泛的程序設計語言。
C語言有很多的優點
指針就是C語言的一大特色,可以說C語言優於其它高級語言的一個重要原因就是因為它有指針操作可以直接進行靠近硬體的操作,但是C的指針操作也給它帶來了很多不安全的因素.C++在這方面做了很好的改進,在保留了指針操作的同時又增強了安全性。Java又進一步提高了安全性。
C語言的缺點
C語言的缺點主要是表現在數據的封裝性上,這一點使得C在數據的安全性上做的有很大缺陷,這也是C和C++的一大區別
8. 用C語言和匯編語言寫操作系統的幾大步驟,請概括一下。我要做一個開源項目
您好。
這個項目不是一天兩天可以描述完的。
推薦您看「30天自製操作系統」,可以開發一個多任務,擁有桌面的小型系統,只有30多M。
最好再結合「orange's:一個操作系統的實現」,自己開發文件系統,甚至可以安裝在電腦上和利用grub與其他操作系統共存。
9. 我想用 C語言重新編寫一個操作系統 可我不知道如何學起
http://wiki.osdev.org/Main_Page是個不錯的網站,有專門的入門介紹,也有關於各部分細節的實現方法討論。
如果英文不夠,可以先看看於淵寫的《自己動手寫操作系統》的第一或第二版,同時惡補英語(無奈),玩這個東西英語一定不能差(英語考試差沒有關系,能看懂英語文檔就好)。
寫操作系統,真正需要創新的地方並不是太多,需要極高的熱情(短期沒有回報),還要耐得住寂寞(深夜一個人,邊翻書邊寫代碼,還可能要享受別人的冷嘲熱諷)。
Linux/UNIX類操作系統的使用經驗會給你帶來一些便捷。
10. 操作系統 用c語言編程
預知詳情請仔細研究linux內核源碼,整個linux操作系統都是C語言實現的,一定可以滿足你的要求。