① c語言源程序到運行程序經過哪幾個步驟
1、預處理
在這一階段,源碼中的所有預處理語句得到處理,例如:#include語句所包含的文件內容替換掉語句本身,所有已定義的宏被展開。
根據#ifdef,#if等語句的條件是否成立取捨相應的部分,預處理之後源碼中不再包含任何預處理語句。
GCC預處理階段可以生成.i的文件,通過選項-E可以使編譯器在預處理結束時就停止編譯。例如:gcc -E -o hello.i hello.c
2、編譯
這一階段,編譯器對源碼進行詞法分析、語法分析、優化等操作,最後生成匯編代碼。這是整個過程中最重要的一步,因此也常把整個過程稱為編譯。
可以通過選項-S使GCC在進行完編譯後停止,生成.s的匯編程序。例如:gcc -S -o hello.s hello.c
3、匯編
這一階段使用匯編器對匯編代碼進行處理,生成機器語言代碼,保存在後綴為.o的目標文件中。
當程序由多個代碼文件構成時,每個文件都要先完成匯編工作,生成.o目標文件後,才能進入下一步的鏈接工作。
目標文件已經是最終程序的某一部分了,只是在鏈接之前還不能執行。可以通過-c選項生成目標文件:gcc -c -o hello.o hello.c
4、鏈接
經過匯編以後的機器代碼還不能直接運行。為了使操作系統能夠正確載入可執行文件,文件中必須包含固定格式的信息頭,還必須與系統提供的啟動代碼鏈接起來才能正常運行,這些工作都是由鏈接器來完成的。gcc -o hello hello.c
5、運行:執行.EXE文件,得到運行結果。
② 怎麼用C語言打開一個程序
第一步:下載c-free5軟體安裝,打開後,新建一個空白文件。
注意:如果是軟體工程的話,就要新建工程
③ 怎麼用C語言打開一個應用程序
第一步:下載c-free5軟體安裝,打開後,新建一個空白文件。
注意:如果是軟體工程的話,就要新建工程
④ c語言中如何啟動其他的程序
system("DOS命令")
TC裡面有這個函數,其它的不知道了
也就是可以
if(a==1);
system("c:\123\123.exe") ;
⑤ C語言程序的運行步驟
當編寫完一個程序後,需要首先進行編譯,然後再運行。
如下圖所示,程序編寫完畢後,點擊工具欄中的Execute,選擇compile(編譯)。
如果沒有錯誤,再選擇Execute,選擇run(運行)。
(5)c語言啟動進程擴展閱讀:
dll因為某些原因(最大的可能是因為它是個病毒或流氓軟體的dll文件,被殺軟刪除了)丟失了,但其相關的注冊信息卻還在,導致系統開機時還載入它,卻又找不到它的文件,所以報錯。
如果你點擊「確定」後,系統沒有什麼不正常,並且可以正常運行的話,你可以用這個軟體清理掉這個開機載入項,以後開機就不會出現這個信息了。
下載和安裝編譯器。C語言需要通過編譯器解釋為計算機可以理解的機器碼。 編譯器通常是免費的, 不同的操作系統上一般使用不同的編譯器。
對於Windows系統, 可以嘗試 Microsoft Visual Studio Express,其是Windows平台上最流行的多語言IDE(集成開發環境),其集成了Microsoft開發的C語言編譯器。對於OS X系統, Xcode是一款優秀的多語言IDE,其集成了C語言的編譯器。對於Linux, gcc是一個不錯的也是最流行的選擇。
⑥ C語言 按哪個鍵執行程序
1、不同的編譯器命令快捷鍵是不同的。
例如:TC,ALT+F5 是運行的快捷鍵。
又如:VS,Crtl+F5 是運行的快捷鍵。
2、下面是Visual Stdio的命令快捷鍵列表:
CTRL + SHIFT + B
生成解決方案
CTRL + F7
生成編譯
CTRL + O
打開文件
CTRL + SHIFT + O
打開項目
CTRL + SHIFT + C
顯示類視圖窗口
F4
顯示屬性窗口
SHIFT + F4
顯示項目屬性窗口
CTRL + SHIFT + E
顯示資源視圖
F12
轉到定義
CTRL + F12
轉到聲明
CTRL + ALT + J
對象瀏覽
CTRL + ALT + F1
幫助目錄
CTRL + F1
動態幫助
F1
幫助
SHIFT + F1
當前窗口幫助
CTRL + ALT + F3
幫助-搜索
SHIFT + ALT + ENTER
全屏顯示
CTRL + -
向後定位
CTRL + SHIFT + -
向前定位
CTRL + F4
關閉文檔窗口
CTRL + PAGE DOWN
游標定位到窗口上方
CTRL + PAGE UP
游標定位到窗口下方
CTRL + F6
CTRL + TAB
下一個文檔窗口
CTRL + SHIFT + F6
CTRL + SHIFT + TAB
上一個文檔窗口
ALT + F6
下一個面板窗口
CTRL + K, CTRL + L
取消remark
CTRL + K, CTRL + C
注釋選擇的代碼
CTRL + K, CTRL + U
取消對選擇代碼的注釋
CTRL + M, CTRL + O
折疊代碼定義
CTRL + M, CTRL + L
展開代碼定義
CTRL + DELETE
刪除至詞尾
CTRL + BACKSPACE
刪除至詞頭
SHIFT + TAB
取消製表符
CTRL + U
轉小寫
CTRL + SHIFT + U
轉大寫
CTRL + SHIFT + END
選擇至文檔末尾
CTRL + SHIFT + HOME
選擇至文檔末尾開始
SHIFT + END
選擇至行尾
SHIFT + HOME
選擇至行開始處
SHIFT + ALT + END
垂直選擇到最後尾
SHIFT + ALT + HOME
垂直選擇到最前面
CTRL + A
全選
CTRL + W
選擇當前單詞
CTRL + SHIFT + PAGE UP
選擇至本頁前面
CTRL + SHIFT + PAGE DOWN
選擇至本頁後面
CTRL + END
文檔定位到最後
CTRL + HOME
文檔定位到最前
CTRL + G
轉到…
CTRL + K, CTRL + P
上一個標簽
CTRL + K, CTRL + N
下一個標簽
ALT + F10
調試-ApplyCodeChanges
CTRL + ALT+ Break
停止調試
CTRL + SHIFT + F9
取消所有斷點
CTRL + F9
允許中斷
CTRL + SHIFT + F5
調試-重新開始
F5
運行調試
CTRL + F5
運行不調試
F10
跨過程序執行
F11
單步逐句執行
CTRL + J
列出成員
CTRL + PAGE DOWN
下一個視圖
CTRL + B
格式-粗體
CTRL + SHIFT + T
格式-文字縮進
⑦ 在c語言裡面有沒有啟動一個後台進程的函數
引用:man 3 daemon:
NAME
daemon - run in the background
SYNOPSIS
#include <unistd.h>
int daemon(int nochdir, int noclose);
⑧ c語言如何在新窗口啟動進程啊急用啊,如能幫我解決,再追加分
明白了,那下邊這段代碼正好是你要的,有點類似多線程並發執行的感覺,你試試看把
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#ifdef _WIN32
#include <windows.h>
#else
#include <time.h>
#endif
int main(){
int i;
#ifdef _WIN32
system("start ping 192.168.100.101 -t");
#else
system("xterm -hold -e ls -l &");
#endif
for(i = 0; i < 1000; i++) {
#ifdef _WIN32
Sleep(1000);
#else /* UNIX */
struct timespec ts;
ts.tv_sec = 1;
nanosleep(&ts, &ts);
#endif
printf("%d\n", i);
}
}
⑨ Centos系統下用C語言解決同一個進程被多次啟動的問題。
不知道centos裡面是否有start-stop-demon,用這個來啟動你的程序。那就可以保證只有一個。
它會在/var/run/下面產生一個xxx.pid的文件,裡面存放的是你的進程id。
⑩ [C語言] 運行C程序的步驟
(1)上機輸入和編輯源程序。通過鍵盤向計算機輸入程序,如發現有錯誤,要及時改正。最後將此源程序以文件形式存放在自己指定的文件夾內(如果不特別指定,一般存放在用戶當前目錄下),文件用.c作為後綴,生成源程序文件,如f.c。
(2)對源程序進行編譯,先用C編譯系統提供的「預處理器」(又稱「預處理程序」或「預編譯器」)對程序中的預處理指令進行編譯預處理。例如,對於#include<stdio.h>指令來說,就是將stdio.h頭文件的內容讀進來,取代#include<stdio.h>行。由預處理得到的信息與程序其他部分一起組成一個完整的、可以用來進行正式編譯的源程序,然後由編譯系統對該源程序進行編譯。
編譯的作用首先是對源程序進行檢查,判定它有無語法方面的錯誤,如有,則發出「出錯信息」,告訴編程人員認真檢查改正。修改程序後重新進行編譯,如果還有錯,再發出「出錯信息」。如此反復進行,直到沒有語法錯誤為止。這時,編譯程序自動把源程序轉換為二進制形式的目標程序(在Visual C++中後綴為.obj,如f.obj)。如果不特別指定,此目標程序一般也存放在用戶當前目錄下,此時源文件沒有消失。
在用編譯系統對源程序進行編譯時,自動包括了預編譯和正式編譯兩個階段,一氣呵成。用戶不必分別發出二次指令。
(3)進行連接處理。經過編譯所得到的二進制目標文件(後綴為.obj)還不能供計算機直接執行。前面已說明:一個程序可能包含若干個源程序文件,而編譯是以源程序文件為對象的,一次編譯只能得到與一個源程序文件相對應的目標文件(也稱目標模塊),它只是整個程序的一部分。必須把所有的編譯後得到的目標模塊連接裝配起來,再與函數庫相連接成一個整體,生成一個可供計算機執行的目標程序,稱為可執行程序(executive program),在Visual C++中其後綴為.exe,如f.exe。
即使一個程序只包含一個源程序文件,編譯後得到的目標程序也不能直接運行,也要經過連接階段,因為要與函數庫進行連接,才能生成可執行程序。
以上連接的工作是由一個稱為「連接編輯程序」(linkage editor)的軟體來實現的。
(4)運行可執行程序,得到運行結果。
以上過程如圖1.2所示。其中實線表示操作流程,虛線表示文件的輸入輸出。例如,編輯後得到一個源程序文件f.c,然後在進行編譯時再將源程序文件f.c輸入,經過編譯源程序,找出問題,修改源程序,並重新編譯,直到無錯為止。有時編譯過程未發現錯誤,能生成可執行程序,但是運行的結果不正確。一般情況下,這不是語法方面的錯誤,而可能是程序邏輯方面的錯誤,例如計算公式不正確、賦值不正確等,應當返回檢查源程序,並改正錯誤。
為了編譯、連接和運行C程序,必須要有相應的編譯系統。目前使用的很多C編譯系統都是集成開發環境(IDE)的,把程序的編輯、編譯、連接和運行等操作全部集中在一個界面上進行,功能豐富,使用方便,直觀易用。