導航:首頁 > 源碼編譯 > 編譯程序是自動啟動還是人工啟動

編譯程序是自動啟動還是人工啟動

發布時間:2022-07-03 02:09:49

A. 編譯是在程序運行的時候還是在程序開發的時候。

編譯在程序運行之前,用於生成可執行文件。
但注意有部分解釋執行的語言不需要編譯

B. 計算機是如何實現程序的自動執行的

沒用官方解釋,別介意,個人看法

1.通過系統提供的API介面(系統給用戶提供了一些API介面調用)
2.做成驅動,和內核綁定到一起
3.做成服務程序

我們都知道計算機的啟動的過程
加電---》bios---》引導boadloader---》進入32位虛擬空間----》載入內核(操作系統)-----》啟動服務----》進入用戶層
從這個過程中就基本上可以看到把應用程序放到哪兒,可以自動執行了

舉個例子,在linux下稍微簡單些
1.驅動源代碼編寫
2.編譯成 .ko文件
3.可以以模塊的形式載入也可以和內核一塊編譯
4.修改配置文件
完成自動運行...........................

C. 什麼是編譯程序 編譯程序的工作過程

編譯程序是變成語言在計算機上面運行的一種方式。
比如你現在編寫(編譯型語言)了你個程序文件並要運行它,但是計算機是不認識這個文件裡面的東西的(其實計算機只認識0和1這樣的數字),所以這里就需要把你自己寫的程序文件翻譯一遍,翻譯過後並生成一個計算機能夠識別的文件,把你原來的源文件翻譯成計算機能夠識別的文件的過程就叫編譯,其實計算機運行的真正文件是編譯過後的編譯文件。

D. 如何用C/C++實現讓自己編譯的程序開機自啟動

#include
<windows.h>
#include
<iostream.h>
/*
功能:使文件開機自動運行
思路:
獲取文件的路徑,將文件拷貝到系統文件夾之下;
在注冊表中注冊文件路徑,使其開機自動運行。
提示:
如果要隱藏,另外可以在以上執行完畢之後,刪除原始文件.
當然,還可以通過注冊程序為系統服務,使其開機自動運行.
刪除:
在執行程序之後,執行以下操作,使系統恢復原狀:
1.
刪除
C:\WINDOWS\system32\yourvirus.exe
2.
打開注冊表:
[HEKY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
刪除鍵:Writing
to
the
Registry
Example
*/
void
main()
{
char
system[MAX_PATH];
//系統目錄路徑
char
pathtofile[MAX_PATH];
//要開機運行的文件的完整路徑
HMODULE
GetModH
=
GetMoleHandle(NULL);
//得到當前執行文件的全路徑
GetMoleFileName(GetModH,pathtofile,sizeof(pathtofile));
//得到系統文件所在目錄的路徑,如c:\windows\system32
GetSystemDirectory(system,sizeof(system));
//形成要復制到的全路徑,如c:\windows\system32\yourvirus.exe
strcat(system,"\\yourvirus.exe");
//自我復制到目標路徑
CopyFile(pathtofile,system,false);
//寫入注冊表,以便開機自動運行
HKEY
hKey;
//打開注冊表:路徑如下
//HEKY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hKey
);
//新增一個值,名稱隨意命名,值為要開機運行的文件的完整路徑
RegSetValueEx(hKey,
"Writing
to
the
Registry
Example",
0,REG_SZ,(const
unsigned
char*)system,sizeof(system));
//關閉注冊表:
RegCloseKey(hKey);
/*可以加入其他功能*/
}

E. Linux如何開機自動啟動編譯過的程序

試試以後台方式自啟動你需要運行的程序,./app.out &,就是在後面加上個&符號,而且我記得linux裡面自啟動程序在/etc/init.d/rcS裡面吧。

F. 編譯程序是直接執行源程序嗎

編譯程序一般不是執行源程序,而是把我們寫的文字型的代碼編譯為二進制的內容,然後去執行二進制的內容。
有些編程語言是需要編譯的必須先編譯在執行,而有些是腳本型的,則直接運行源程序就可以。

G. C語言可以人工編譯嗎

你說的是不用集成環境來而是自己手動編譯吧?可以的呀!
eg:打開控制台,然後把目錄切換到你的編譯器的bin目錄下的編譯核心程序(我用wintc,目錄是:F:\Win-TC\bin\20cn),然後在控制台下輸入"tcc
h.c"(h.c是我寫的一個測試C程序),然後會在當前目錄下生成可執行程序h.exe,然後你再在控制台下輸入h.exe就可以看到編譯結果了,當然,編譯的時候有很多可選選項的,你可以翻看你的編譯器手冊...

H. 編譯好的程序如何在linux啟動時自動運行

可以將該二進制文件的路徑寫到/etc/rc.local文件中
比如運行該命令寫入這個文件:echo '/root/teste' >> /etc/rc.local
單引號中的路徑換成你的實際路徑

I. c++如何判斷程序啟動方式(是由用戶手工啟動還windows服務啟動)

你的問題本身就是個問題。
C++是編程語言,而windows程序的啟動是由windows來決定,至於啟動的方式,當然是由用戶來決定,一般應用程序(比如:記事本),這是由用戶雙擊記事本程序或點擊記事本快捷圖標,然後由windows啟動,而對於windows服務程序,用戶需要通過安裝服務程序的方式,再由windows決定,是自動,還是手動啟動。

你是不是想問:windows程序的啟動方式?或者是,如何運行C++編寫的程序?

對了,你的C++只是編程語言,你需要將C++源程序通過集成編譯環境(比如:VS2010),編譯成windows可執行程序,再由你自己雙擊運行。

J. 編譯程序的工作過程一般可以劃分為哪5個基本階段,還自始至終伴隨進行哪兩項工作

1、編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;中間代碼生成;代碼優化;目標代碼生成。

2、編譯程序的工作過程一般自始至終伴隨進行信息表管理和出錯處理兩項工作。

主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。

(10)編譯程序是自動啟動還是人工啟動擴展閱讀:

解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。解釋程序的工作過程如下:

1、由總控程序完成初始化工作。

2、依次從源程序中取出一條語句進行語法檢查,如有錯,輸出錯誤信息;如果通過了語法檢查,則根據語句翻澤成相應的指令並執行它。

3、檢查源程序是否已經全部解釋執行完畢,如果未完成則繼續解釋並執行下一條語句,直到全部語句都處理完畢。

閱讀全文

與編譯程序是自動啟動還是人工啟動相關的資料

熱點內容
西安java培訓 瀏覽:298
蘋果用戶app如何退款 瀏覽:889
解壓方式就是喝酒 瀏覽:396
麥塊怎麼添加到游戲伺服器 瀏覽:962
噴油螺桿製冷壓縮機 瀏覽:581
python員工信息登記表 瀏覽:377
高中美術pdf 瀏覽:161
java實現排列 瀏覽:513
javavector的用法 瀏覽:982
osi實現加密的三層 瀏覽:233
大眾寶來原廠中控如何安裝app 瀏覽:916
linux內核根文件系統 瀏覽:243
3d的命令面板不見了 瀏覽:526
武漢理工大學伺服器ip地址 瀏覽:149
亞馬遜雲伺服器登錄 瀏覽:525
安卓手機如何進行文件處理 瀏覽:71
mysql執行系統命令 瀏覽:930
php支持curlhttps 瀏覽:143
新預演算法責任 瀏覽:444
伺服器如何處理5萬人同時在線 瀏覽:251