導航:首頁 > 源碼編譯 > 怎樣用dos編譯cs文件

怎樣用dos編譯cs文件

發布時間:2022-07-27 12:17:51

A. 怎樣把.cs文件編譯成DLL文件

開始--程序--Microsoft Visual Studio.NET 2005--Visual Studio.NET工具,點擊其中的「Visual Studio.NET2005命令提示」,就會進入Microsoft Visual Studio.NET 2005命令提示窗口,然後我們用dos命令(cd)進入要編譯成dll的cs文件所在的目錄,然後輸入命令:

csc /out: bin\index.dll /t:library index.cs

回車,就會在bin目錄下生成與cs文件同名的dll文件

但是如果這個cs文件引用了bin目錄下的另外一個dll文件如comman.dll,則應該這樣輸入命令:

csc /out: bin\index.dll /r: bin\comman.dll /t:library index.cs

B. 請問,怎樣將用C#寫的類文件比如lib.cs在dos環境下編譯成dll文件,謝謝。

編譯命令用csc 你的cs文件
就會生成exe

C. 用c#編寫的windows應用程序怎麼用dos命令編譯

csc.exe是.NET Framework SDK中的一個工具,當然用VS舒服多了...
不怕麻煩或者小硬碟的可以用用看,下面是些基本編輯,編譯,調試操作(很不詳細,詳細請看MSDN :) ):
1.配置C#命令行編輯器:
我的電腦 - 屬性 - 高級 - 環境變數 - 系統變數列表對話框 - 雙擊Path變數 -
在當前路徑值的末尾加入(路徑變數里各值用分號區隔): C:\Windows\Microsoft.NET\Framework\v2.0.50727 (注意,路徑和版本號會因為你的安裝和下載的不同而不同,自己到安裝目錄下看看)
如果配置成功,在命令窗口中輸入: csc /? 將顯示C#編譯器支持的選項列表.
2.配置其他.NET命令行工具:
將附加路徑變數加入系統變數列表框: C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin
如果配置成功,在命令窗口中輸入:gacutil /? 查看GAC工具gacutil.exe的各個選項.
3.使用csc.exe和記事本構建C#應用程序:
- 使用記事本編輯源代碼,並保存為.cs格式,如TestApp.cs,存儲路徑C:\CscExample\
//TestApp.cs
using System;
class TestApp
{
public static void Main()
{
Console.WriteLine("Testing!");
}
}
- 打開cmd,轉到源文件保存的目錄
- 輸入命令: csc /target:exe TestApp.cs 將TestApp.cs編譯成名為TestApp.exe的console應用程序
C#編譯器的輸出選項(詳細查閱相關手冊或MSDN):
選項 作用
------------------------------------------------------------------------------------------------------------------
/out 該選項用於指定被構建出的程序集的名字。默認條件下,程序集的名字或者與最初輸入的*.cs文件名字相同(生成
*.dll文件的情況下),或者與包含程序的Main()方法的那個類型的名字相同(生成*.exe文件的情況下)
------------------------------------------------------------------------------------------------------------------
/target:exe 本選項構建一個可執行的控制台應用程序。這是默認的文件輸出類型,並且在創建該應用程序類型時可被忽略。
------------------------------------------------------------------------------------------------------------------
/target:library 本選項構建一個單一文件*.dll程序集。
------------------------------------------------------------------------------------------------------------------
/target:mole 本選項構建一個模塊(mole)。所謂模塊是指組成多文件程序集的元素。
------------------------------------------------------------------------------------------------------------------
/target:winexe 本選項構建一個可執行的windows應用程序,盡管使用/target:exe也能創建窗體應用程序,但本選項創建的程序
運行時不會有控制窗口出現在桌面背景上。
------------------------------------------------------------------------------------------------------------------
4.引用外部程序集:
修改TestApp.cs,顯示一個Windows窗體消息框:
//TestApp.cs
using System;
using System.Windows.Forms;
class TestApp
{
public static void Main()
{
Console.WriteLine("Testing!");
MessageBox.Show("Hello!");
}
}
在命令行中,必須通知csc.exe,哪個程序集包含了「所用的「命名空間。因此,必須使用/reference標志指定System.Windows.Forms.dll
csc /reference:System.Windows.Forms.dll TestApp.cs
5.使用csc.exe編譯多個源文件:
- 顯式的列出各個導入文件來編譯C#文件: csc /r:System.Windows.Forms.dll TestApp.cs HelloMsg.cs
- 使用通配符(*)通知csc.exe: csc /r:System.Windows.Forms.dll *.cs
//TestApp.cs
using System;
class TestApp
{
public static void Main()
{
Console.WriteLine("Testing!");
HelloMessage h = new HelloMessage();
h.Speak();
}
}

//HelloMsg.cs
using System;
using System.Windows.Forms;

class HelloMessage
{
public void Speak()
{
MessageBox.Show("Hello!");
}
}
6.引用多個外部程序集:
- 使用分號列出各個程序集: csc /r:System.Windows.Forms.dll;System.Drawing.dll *.cs
7.使用csc.exe響應文件(respose file):
- C#響應文件包含了在當前構建的編譯期間要用到的所有指令,通常約定,響應文件的擴展名為*.rsp
- 響應文件中注釋使用「#」字元標識
- 在編譯指令中響應文件前加@符號: csc @TestApp.rsp
- /reference標志具有累加性,而其他標志(如/out)將用後面的命令覆蓋前面的命令
- 可以指定多個響應文件作為輸入(例如csc @FirstFile.rsp @SecondFile.rsp @ThirdFile.rsp)
- 也可混合使用響應文件和標志(例如csc /out:TestApp.exe @TestApp.rsp)
# 建立4中TestApp.exe的響應文件 TestApp.rsp
#
# 外部程序集引用
/r:System.Windows.Forms.dll
#
# 用於編譯的輸出和文件
/target:exe /out:TestApp.exe *.cs
8.默認的響應文件csc.rsp:
- C#編譯器有一個相關聯的默認響應文件csc.rsp, 該響應文件與csc.exe在同一目錄.
- 當用csc.exe構建C#程序時,該文件將自動被引用(即使提供了自定義*.rsp文件時)
- 要取消自動讀取csc.rsp,可以指定 /noconfig 選項
################################################################################
命令行調試器(cordbg.exe):
- 使用cordbg /? 查看調試器提供的標志選項
部分有用的cordbg.exe命令行標志:
標志(全稱/縮寫) 作用
----------------------------------------------------
b[reak] 設定或顯示當前斷點
del[ete] 去除一個或多個斷點
ex[it] 退出調試器
g[o] 繼續調試當前進程直至發現下一個斷點
o[ut] 退出當前函數
p[rint] 列印所有載入的變數(局部,實參等)
si 進入下一行
so 越過下一行
----------------------------------------------------
在命令行進行調試:
- 給應用程序生成調式數據: csc @TestApp.rsp /debug , 將生成一個名為TestApp.pdb的關聯文件
- 將欲調試的.NET程序集指定為命令行實參,進入調試模式(*.pdb文件將被自動載入: cordbg.exe TestApp.exe
- 使用cordbg.exe命令行標志進行調試

D. 怎麼通過C#使用DOS命令,從而完成一個類似於批處理文件。

@echo off
set p=C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
cd /d C:\c#\事例
for /f %%i in ('dir/b *.cs') do %p%csc.exe /out:"%%~ni.exe" "%%i"

E. 如何在DOS下運行VC#

你要使用 .NET SDK命令行工具,你可以手動增加path目錄C:\Windows\Microsoft.NET\Framework\v2.0.40607,或者CD到C:\Windows\Microsoft.NET\Framework\v2.0.40607(我的是VS2005,所以是V2.0,你VS2008自己找到3.5路徑),然後使用CSC命令編譯你的CS文件,格式是這樣的 csc d:\helloworld.cs,然後會自動生成helloworld.exe的可執行文件,然後執行helloworld就行了

F. 如何在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 [鏈接器選項和庫]

G. C語言如何用dos命令編譯,如何將編譯和運行結果重定向到某個文件里

你需要設置cl和linker所在目錄的
環境變數
,例如我在win7下的路徑的是C:\Program
Files
(x86)\Microsoft
Visual
Studio
8\VC\bin
你按下面的步驟就可以設置了。有問題可以
網路HI
我:步驟如下:
1.首先,打開
配置環境變數
界面,如下操作:我的電腦---屬性---高級---環境變數
2.編輯PATH變數,在PATH變數的最後如果沒有分號,要增加一個分號,然後是你的cl和linker所在目錄的全路徑,後面記得要加分號,確定應該就可以了。
記得把cmd窗口重新打開一下。
另外,虛機團上產品團購,超級便宜

H. 怎麼在DOS下編譯C語言成為.exe文件啊

裝mingw
將bin目錄添加到
系統變數
運行cmd,輸入gcc
出現
找不到文件的提示就
說明安裝
成功了
命令gcc
用法示例:
編譯:
gcc
-c
main.c
生成
main.o
連接:
gcc
-o
m.exe
main.o
生成m.exe
可執行文件
編譯連接一起來就是
gcc
-o
m.exe
main.c
//適合單文件,不要用於工程中
如果是c++的話
連接要用g++命令

I. c語言命令行程序如何在DOS下編譯運行

點擊電腦開始菜單,打開運行窗口,在窗口編輯框里輸入cmd,點擊確定按鈕,打開cmd命令
窗口,然後進入你的工程目錄中的可執行程序文件夾
輸入可執行程序文件名後面帶上你需要的參數按Enter鍵就可以了
cmd命令:如你的可執行程序在D://CP//debug/aa.exe
你需要在命令行窗口輸入d:按Enter鍵進入D盤
cdCP/debug按Enter鍵進入D盤中CP目錄debug子目錄中
輸入aa.exe23按Enter鍵運行你的程序結果就會出現
2.000000tothe3.000000power=8

J. 如何在DOS界面進行C語言編譯

以我本機為實例,我的VC6安裝在C盤,具體路徑:
C:\Program Files\Microsoft Visual Studio\VC98\Bin

你可以像我這樣嘗試輸入該路徑下的可執行文件,看看其用途說明,就知道哪個是編譯用的,哪個是鏈接用的。。。

C:\Program Files\Microsoft Visual Studio\VC98\Bin>cl
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]

然後我新建了一個cpp文件,就是顯示hello world,放在C:\test1\下面,我是這樣編譯的:

C:\Program Files\Microsoft Visual Studio\VC98\Bin>cl c:\test1\main.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

main.cpp
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/out:main.exe
main.obj

C:\Program Files\Microsoft Visual Studio\VC98\Bin>main
Hello world!

C:\Program Files\Microsoft Visual Studio\VC98\Bin>

閱讀全文

與怎樣用dos編譯cs文件相關的資料

熱點內容
如何做一個系統u盤文件夾名字 瀏覽:966
如何確認哪個ip重啟了伺服器 瀏覽:128
照片壓縮軟體綠色版 瀏覽:105
pgp基於什麼體系加密 瀏覽:633
python合法賦值語句格式 瀏覽:709
程序員數學線性代數 瀏覽:622
看幀率app如何使用 瀏覽:523
從DHC伺服器租用IP地址 瀏覽:473
編譯怎麼學 瀏覽:331
數碼管顯示0到9plc編程 瀏覽:667
伺服器是為什麼服務的 瀏覽:767
java定義數據類型 瀏覽:876
安卓pdf手寫 瀏覽:429
什麼是app開發者 瀏覽:284
android鬧鍾重啟 瀏覽:103
程序員失職 瀏覽:522
在雲伺服器怎麼改密碼 瀏覽:588
伺服器pb什麼意思 瀏覽:944
51駕駛員的是什麼app 瀏覽:674
php靜態變數銷毀 瀏覽:890