在學習Unix操作系統的時候,我們會經常遇到很多的問題。例如Unix操作系統中的設計錯誤問題,對於Unix操作系統此程序中的錯誤(設計錯誤)我們該如何解決呢。就讓我們一起來學習吧!
我們知道到,在這個Unix操作系統源程序文件中,定義了兩個函數:TestInput()和main(),定義了一個宏TESTOK,同時包含了兩個標准的頭文件。為了把這個C程序轉換成可執行文件,在shell提示符下輸入:$cc myprog.c
在Unix操作系統程序中沒有任何語法錯誤的情況下,cc將在當前目錄下生成一個名為a.out的可執行文件,如:
- $ cc myproc.c
- $ ls -l
- -rwx------ 1 yxz users 5812 Aug 31 15:32 a.out
- -rw------- 1 yxz users 716 Aug 31 15:27 myproc.c
- $
還可以看到這裡a.out是一個可執行文件。當然這個程序由於在設計上有些失誤,我們現在還不能馬上就帶參數運行。但不帶參數運行還是可以的。只不過此時該程序什麼都沒有干,如:$ a.out$
在程序中我們通過main函數的兩個參數argc和argv而使程序能夠引用shell命令行參數;這是Unix操作系統環境下一種常用的編程技術。
在生成了a.out文件之後,我們自然可用mv命令將其修改為某個合適的名稱。但更簡單的方法是在cc命令行中加上-o選項,使cc直接將可執行文件寫入到指定的文件中而不生成a.out文件,如:
- $ cc -o myprog myprog.c
- $ ls -l myprog
- total 14
- -rwx------ 1 yxz users 5812 Aug 31 15:34 myprog
- -rw------- 1 yxz users 716 Aug 31 15:27 myprog.c
- $
我們看到,Unix操作系統myprog這個文件除了文件名及修改時間同a.out不一樣外,其他屬性同a.out 都是一摸一樣的。這也說明了兩者的等價性。
以上就是我們這次要講的關於Unix操作系統中的問題,希望對大家對Unix操作系統的學習有所幫助。