當前位置:首頁 » 編程軟體 » dos編譯器不穩定

dos編譯器不穩定

發布時間: 2023-03-08 01:43:00

Ⅰ 在dos下運行g++ -O3 -c *.cpp時出錯,錯誤如下,請問如何更改

在dos下需要編譯器的,系統是沒有的,找個裝下吧

c語言和DOS有關系嗎

c語言與DOS系統是完全沒有關系的。因為c語言是高級編程語言,而DOS是操作系統,2者是不同領域的東西。
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

DOS是英文Disk Operating System的縮寫,意思是「磁碟操作系統」,顧名思義,DOS主要是一種面向磁碟的系統軟體,說得簡單些,DOS就是人給機器下達命令的集合,是存儲在機器硬體里頭的一些命令集,有了DOS,我們就可以更容易理解怎麼給機器下命令,不必去深入了解機器的硬體結構,也不必去死記硬背那些枯燥2進制數字的機器命令,只需通過一些接近於英語的DOS命令,我們就可以輕松地完成絕大多數的日常操作。另外,DOS還能有效地管理在它控制下的各種軟硬體資源,對它們進行合理的調度,所有的軟體和硬體都在DOS的監控和管理之下,有條不紊地進行著運轉。

Ⅲ masm編譯器用下載嗎我的電腦在DOS中怎麼不能用啊

masm是微軟出的匯編編譯器,支持8088/8086架構的匯編語言,在DOS下運行,需要下載。masm包括:
(1)編輯程序edit.exe
(2)匯編程序masm.exe
(3)連接程序link.exe
(3)調試程序debug.exe
基本使用方法如下,僅供參考:
用之前最好把上面的幾個文件保存到盤符下的文件夾里,文件夾名字盡量簡單明了,一切為了操作簡單。
(1)最好不要用edit.exe,而用記事本編輯匯編程序,這樣操作比較方便。保存時,文件類型選為所有文件,再在文件名後面加上.asm,保存即可。
(2)打開命令提示行(運行-->輸入cmd-->確定),敲命令進入masm所在文件夾,輸入masm *.asm(*表示文件名)回車。
這時會提示
Object filename [*.OBJ]:
表示要生成的目標文件名稱,必須填,然後回車。提示
Source listing [NUL.LST]:
表示是否要生成列表文件,填寫這生成.lst文件,不填則放棄生成.lst文件。.lst文件用記事本打開能看到源代碼的語法錯誤,查錯想當方便,****強烈建議生成****。回車後提示
Cross-reference [NUL.CRF]:
表示生成交叉引用文件.crf,如果有多個.obj文件參與連接就要生成,回車後顯示錯誤數量等信息,編譯完成。
(3)輸入link *(.obj文件名)
一路回車,返回時已經生成了*.exe。
(4)debug使用比較復雜,不多介紹。

Ⅳ 請問在DOS環境下編譯程序時,即執行debug命令的程序編譯時,輸入錯誤了,應該如何撤銷不再提示error

DEBUG是常用的匯編語言級調試工具,為匯編語言程序員提供了分析指令、跟蹤程序的有效手段

如何進入Debug程序?
答:在命令提示符下輸入「debug」回車即可

懂得匯編的朋友,相信看懂下面命令是沒多大問題的。

常用命令:
-A 匯編 格式:A 起始地址
例如:輸入「A」,回車,然後輸入「MOV AX,10」回車。再按一次回車,則退出匯編狀態。

-U 反匯編 格式:U 起始地址 結束地址
例如:接上面,輸入「U」,回車,即可看到結果。

以下不再舉例,類似上面,有待自己研究,這樣記得更牢。謝謝!

-T 單步執行 格式:T 起始地址 運行指令數
-G 斷點執行 格式:G 起始地址 斷點地址 結束地址
-D 數據顯示 格式: D 起始地址 結束地址
-R 顯示修改寄存器
格式:R 寄存器名
-P 單步執行,不進入中斷
格式:T 起始地址 運行指令數
-F 連續填入內存內容
格式:起始地址 結束地址 要填入的數值系列
-E 單個修改內存內容
格式: E 地址 填入內容
-Q 退出debug狀態
格式: Q 回車

不常用命令:
-M 內存搬家指令:
格式:M 起始地址 結束地址 目的地址
-H 16進制加法:
格式:H 操作數1 操作數2
結果顯示:加法結果 減法結果

Ⅳ 如何在DOS下編譯C/C++程序

1, 找到VS的cl.exe所在目錄,把這目錄復制下來:
我的VS2008的CL.EXE目錄是在E:\Program Files\Microsoft Visual Studio 9.0\VC\bin,
VS2010可以類似的找到..

在'我的電腦'上點右鍵,
選右鍵菜單'屬性'->'高級'->'環境變數',
在彈出的環境變數設置框里找"PATH"這個變數, (在用戶變數或系統變數里都可以)
然後在"PATH"的值後面,用分號分隔,
把將才找到的路徑串復制進去,選確定.

2, 重新運行CMD開啟新的命令窗.

3, 輸入cl回車檢查PATH路徑是否生效.

//以上步聚是設置環境變數,只需設一次以後就好用了.以後每次要命令行下編譯C++程序,就從下面第4步開始.

4, 輸入vcvars32 ,運行cl.exe同一路徑下的vcvars32.bat,設置其它環境變數.

5, 寫一個helloworld程序,保存成hello.cpp, cl hello.cpp回車試試編譯正常不. 如果成功,則生成hello.exe文件.

//-----------------------------------------------------------

C/C++ 編譯器選項

-優化-

/O1 最小化空間 /Op[-] 改善浮點數一致性
/O2 最大化速度 /Os 優選代碼空間
/Oa 假設沒有別名 /Ot 優選代碼速度
/Ob<n> 內聯展開(默認 n=0) /Ow 假設交叉函數別名
/Od 禁用優化(默認值) /Ox 最大化選項。(/Ogityb2 /Gs)
/Og 啟用全局優化 /Oy[-] 啟用框架指針省略
/Oi 啟用內部函數

-代碼生成-

/G3 為 80386 進行優化 /Gh 啟用 _penter 函數調用
/G4 為 80486 進行優化 /GH 啟用 _pexit 函數調用
/G5 為 Pentium 進行優化 /GR[-] 啟用 C++ RTTI
/G6 對 PPro、P-II、P-III 進行優化 /GX[-] 啟用 C++ EH (與 /EHsc 相同)
/G7 對 Pentium 4 或 Athlon 進行優化 /EHs 啟用 C++ EH (沒有 SEH 異常)
/GB 為混合模型進行優化(默認) /EHa 啟用 C++ EH(w/ SEH 異常)
/Gd __cdecl 調用約定 /EHc extern "C" 默認為 nothrow
/Gr __fastcall 調用約定 /GT 生成纖維安全 TLS 訪問
/Gz __stdcall 調用約定 /Gm[-] 啟用最小重新生成
/GA 為 Windows 應用程序進行優化 /GL[-] 啟用鏈接時代碼生成
/Gf 啟用字元串池 /QIfdiv[-] 啟用 Pentium FDIV 修復
/GF 啟用只讀字元串池 /QI0f[-] 啟用 Pentium 0x0f 修復
/Gy 分隔鏈接器函數 /QIfist[-] 使用 FIST 而不是 ftol()
/GZ 啟用堆棧檢查(/RTCs) /RTC1 啟用快速檢查(/RTCsu)
/Ge 對所有函數強制堆棧檢查 /RTCc 轉換為較小的類型檢查
/Gs[num] 控制堆棧檢查調用 /RTCs 堆棧幀運行時檢查
/GS 啟用安全檢查 /RTCu 未初始化的本地用法檢查
/clr[:noAssembly] 為公共語言運行庫編譯
noAssembly - 不產生程序集
/arch:<SSE|SSE2> CPU 結構的最低要求,以下內容之一:
SSE - 啟用支持 SSE 的 CPU 可用的指令
SSE2 - 啟用支持 SSE2 的 CPU 可用的指令

-輸出文件-

/Fa[file] 命名程序集列表文件 /Fo<file> 命名對象文件
/FA[sc] 配置程序集列表 /Fp<file> 命名預編譯頭文件
/Fd[file] 命名 .PDB 文件 /Fr[file] 命名源瀏覽器文件
/Fe<file> 命名可執行文件 /FR[file] 命名擴展 .SBR 文件
/Fm[file] 命名映射文件

-預處理器-

/AI<dir> 添加到程序集搜索路徑 /Fx 將插入的代碼合並到文件
/FU<file> 強制使用程序集/模塊 /FI<file> 命名強制包含文件
/C 不抽出注釋 /U<name> 移除預定義宏
/D<name>{=|#}<text> 定義宏 /u 移除所有預定義宏
/E 預處理到 stdout /I<dir> 添加到包含搜索路徑
/EP 預處理到 stdout,沒有 #line /X 忽略「標准位置」
/P 預處理到文件

-語言-

/Zi 啟用調試信息 /Ze 啟用擴展(默認)
/ZI 啟用「編輯並繼續」調試信息 /Zl 省略 .OBJ 中的默認庫名
/Z7 啟用舊式調試信息 /Zg 生成函數原型
/Zd 僅有行號調試信息 /Zs 只進行語法檢查
/Zp[n] 在 n 位元組邊界上包裝結構 /vd{0|1} 禁用/啟用 vtordisp
/Za 禁用擴展(暗指 /Op) /vm<x> 指向成員的指針類型
/Zc:arg1[,arg2] C++ 語言一致性,這里的參數可以是:
forScope - 對范圍規則強制使用標准 C++
wchar_t - wchar_t 是本機類型,不是 typedef

- 雜項 -

@<file> 選項響應文件 /wo<n> 發出一次警告 n
/?, /help 列印此幫助消息 /w<l><n> 為 n 設置警告等級 1-4
/c 只編譯,不鏈接 /W<n> 設置警告等級(默認 n=1)
/H<num> 最大外部名稱長度 /Wall 啟用所有警告
/J 默認 char 類型是 unsigned /Wp64 啟用 64 位埠定位警告
/nologo 取消顯示版權消息 /WX 將警告視為錯誤
/showIncludes 顯示包含文件名 /WL 啟用單行診斷
/Tc<source file> 將文件編譯為 .c /Yc[file] 創建 .PCH 文件
/Tp<source file> 將文件編譯為 .cpp /Yd 將調試信息放在每個 .OBJ 中
/TC 將所有文件編譯為 .c /Yl[sym] 為調試庫插入 .PCH 引用
/TP 將所有文件編譯為 .cpp /Yu[file] 使用 .PCH 文件
/V<string> 設置版本字元串 /YX[file] 自動 .PCH
/w 禁用所有警告 /Y- 禁用所有 PCH 選項
/wd<n> 禁用警告 n /Zm<n> 最大內存分配(默認為 %)
/we<n> 將警告 n 視為錯誤

-鏈接-

/MD 與 MSVCRT.LIB 鏈接 /MDd 與 MSVCRTD.LIB 調試庫鏈接
/ML 與 LIBC.LIB 鏈接 /MLd 與 LIBCD.LIB 調試庫鏈接
/MT 與 LIBCMT.LIB 鏈接 /MTd 與 LIBCMTD.LIB 調試庫鏈接
/LD 創建 .DLL /F<num> 設置堆棧大小
/LDd 創建 .DLL 調試庫 /link [鏈接器選項和庫]

Ⅵ 使用DOS命令編譯Java程序出現編譯錯誤

環境變數沒有配置,具體配置如下:
桌面->我的電腦右鍵,屬性->高級,裡面有個環境變數,系統變數裡面新建1、變數名:JAVA_HOME,值:JDK安裝目錄(如:C:\Java\jdk1.5.0_09),確定,然後再新建,2、變數名:CLASSPATH,值:「.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar」,直接拷貝引號裡面的就行了,確定 3、找到path項,修改,在最前面加上「.;%JAVA_HOME%\bin;」原來內容不要動,確定就OK了

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:741
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1005
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:712
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:874
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:773
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1120
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:346
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:224
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:910
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:869