㈠ 如何將寫好的一段C語言程序弄成可以在任何電腦上使用的軟體
編譯 運行後 在你的工作目錄下面找到一個同名的.exe文件,然後把它帶著走,到哪裡都可以用
當然,如果你程序中用到了配置文件 資源文件或者dll文件 也請一並打包帶走
如果程序比較大,可以到網上搜一下打包安裝包的軟體,可以製作安裝包
值得一提的是,你用windows下編出來的程序,對方電腦必須也是windows操作系統,否則無法運行
㈡ 如何反編譯c語言程序
反編譯C語言程序是一個復雜且通常不可完全逆向的過程,因為C語言編譯後的機器碼與源代碼之間存在顯著的抽象層次差異。C語言程序首先被編譯成匯編語言,再進一步轉換成特定平台的機器碼。這個過程中,許多高級語言特性(如變數名、函數名、注釋等)會被優化或丟棄,使得直接從機器碼恢復出原始的C代碼變得非常困難。
盡管如此,仍有一些技術和工具可以用來嘗試分析或「反編譯」機器碼,比如使用反匯編器(如IDA Pro、Ghidra)來將機器碼轉換回匯編語言,然後人工或藉助工具分析這些匯編指令,嘗試理解程序的邏輯。但請注意,這只能得到匯編級的理解,並不能直接恢復出原始的C語言代碼結構。
此外,對於使用了代碼混淆、加密或其他保護技術的程序,反編譯的難度會進一步增加。因此,對於大多數情況,反編譯C語言程序並不是一個可行的選項,尤其是在沒有源代碼和詳細文檔的情況下。如果目的是理解或修改程序,通常更推薦尋找合法途徑獲取源代碼或聯系程序的開發者。
㈢ C語言源代碼怎麼導入編譯器里
要將C語言源代碼導入編譯器中,通常有以下幾個步驟:
1. 編寫C語言源代碼:使用文本編輯器或集成開發環境(IDE)編寫C語言源代碼文件,例如hello.c。
2. 打開編譯器:選擇一種C語言編譯器,打開它的界面。常見的C語言編譯器包括GCC、Clang、Visual Studio等。
3. 創建項目:在編譯器中創建一個新項目或工程,例如選擇File -> New Project,然後選擇C語言項目類型。
4. 添加源文件:在項目中添加C語言源代碼文件,例如點擊Add File或者Add Existing Item按鈕,然後選擇剛才創建的hello.c文件。
5. 進行編譯:在編譯器中進行編譯操作,例如選擇Build -> Build Solution。如果代碼沒有語法錯誤,則會生成可執行程序,例如hello.exe。
6. 運行程序:在編譯器中運行剛剛生成的可執行程序,例如選擇Debug -> Start Debugging。如果一切順利,程序應該會輸出"Hello, world!"這樣的結果。
需要注意的是,不同的編譯器可能有不同的操作方式和具體步驟,但是基本的流程是相似的。此外,編譯器也可以通過命令行方式來進行編譯和運行,具體方法可以參考相應編譯器的文檔或幫助信息。
公眾號:奇牛編程
㈣ 如何運行一個C程序
1、編輯:輸入源程序並存檔;
2、編譯:將源程序翻譯為目標文件;
3、鏈接:將目標文件生成可執行文件;
4、運行:執行後綴名為「EXE」的文件,得到運行結果。
㈤ 在linux中編譯C輸入完程序後輸入個:wq然後按什麼鍵就然後就回到了上一個界面
vi 編輯器里。
先 按一下 ESC 退出,然後 按 : 鍵,然後輸入 wq 保存並退出的意思,再打回車,即可退出編輯狀態。
使用 gcc -o C源文件
即可編譯。
1 29
lzbltx
2010-10-11 超過23用戶採納過TA的回答
關注
:wq是vi的編輯命令,vi編輯命令中「:」命令最後輸入回車鍵執行。找一個LINUX入門的書,學習一下簡單的vi命令就可以編輯程序了。
0果在命令行下使用gedit, 關閉程序窗口(一般先保存文件),就自動退到命令行界面。
如果在命令行下使用vim,先按下ESC退出編輯模式,然後輸入:wq 保存並退出或者q退出或者q!強制退出,從而回到命令行界面。
(5)如何把c程序的編譯挪到上面擴展閱讀:
linux常見命令:
命令
apropos whatis 顯示和word相關的命令。 參見線程安全
man -t man | ps2pdf - > man.pdf 生成一個PDF格式的幫助文件
which command 顯示命令的完整路徑名
time command 計算命令運行的時間
time cat 開始計時. Ctrl-d停止。參見sw
nice info 運行一個低優先順序命令(這里是info)
renice 19 -p $$ 使腳本運行於低優先順序。用於非交互任務。
目錄操作
cd - 回到前一目錄
cd 回到用戶目錄
(cd dir && command) 進入目錄dir,執行命令command然後回到當前目錄
pushd . 將當前目錄壓入棧,以後你可以使用popd回到此目錄
文件搜索
alias l='ls -l --color=auto' 單字元文件列表命令
ls -lrt 按日期顯示文件. 參見newest
ls /usr/bin | pr -T9 -W$COLUMNS 在當前終端寬度上列印9列輸出
find -name '*.[ch]' | xargs grep -E 'expr' 在當前目錄及其子目錄下所有.c和.h文件中尋找'expr'. 參見findrepo
find -type f -print0 | xargs -r0 grep -F 'example' 在當前目錄及其子目錄中的常規文件中查找字元串'example'
find -maxdepth 1 -type f | xargs grep -F 'example' 在當前目錄下查找字元串'example'
find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done 對每一個找到的文件執行多個命令(使用while循環)
find -type f ! -perm -444 尋找所有不可讀的文件(對網站有用)
find -type d ! -perm -111 尋找不可訪問的目錄(對網站有用)
locate -r 'file[^/]*\.txt' 使用locate 查找所有符合*file*.txt的文件
look reference 在(有序)字典中快速查找
grep --color reference /usr/share/dict/words 使字典中匹配的正則表達式高亮
歸檔 and compression
gpg -c file 文件加密
gpg file.gpg 文件解密
tar -c dir/ | bzip2 > dir.tar.bz2 將目錄dir/壓縮打包
bzip2 -dc dir.tar.bz2 | tar -x 展開壓縮包 (對tar.gz文件使用gzip而不是bzip2)
tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg' 目錄dir/壓縮打包並放到遠程機器上
find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2 將目錄dir/及其子目錄下所有.txt文件打包
find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents 將目錄dir/及其子目錄下所有.txt按照目錄結構拷貝到dir_txt/
( tar -c /dir/to/ ) | ( cd /where/to/ && tar -x -p ) 拷貝目錄/到目錄/where/to/並保持文件屬性
( cd /dir/to/ && tar -c . ) | ( cd /where/to/ && tar -x -p ) 拷貝目錄/下的所有文件到目錄/where/to/並保持文件屬性
( tar -c /dir/to/ ) | ssh -C user@remote 'cd /where/to/ && tar -x -p' 拷貝目錄/到遠程目錄/where/to/並保持文件屬性
dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz' 將整個硬碟備份到遠程機器上
0