导航:首页 > 源码编译 > 编译器调用

编译器调用

发布时间:2023-06-27 02:05:29

Ⅰ 怎么调用编译器编译C#的.CS文件

CSC.exe在你的安装目录下面,一般在 C:\WINDOWS\Microsoft.NET\Framework\ "这里选你按装的版本"\
如果你实在找不到,开始-搜索 搜一下 “CSC.exe” ,但是你只能在这个目录下编译,如果你想在任意目录下编译,你把这个csc.exe文件的所在路径复制下来,添加到环境变量PATH后(我的电脑,属性,高级,环境变量,系统变量,path,编辑),注意要在原来的结尾加个“;”再把你复制下来的路径添加在这里,这样你就可以在任意目录下调用CSC.EXE 编译文件很方便。

Ⅱ 谁能详细说明一下编译器自动调用类型构造函数进行类型转换的原理

StrCell sc = dc + dc; 这条语句执行时调用StrCell的构造函数,与StrCell sc(dc + dc);相同。
它们都需要这样的构造函数:StrCell(const DblCell &dc);

类型转换是把一种类型转换为另一种不同的类型,而源代码中的构造函数接受的就是DblCell参数,所以StrCell sc = dc + dc;严格来说不算是类型转换。

假如构造函数是StrCell(const StrCell &dc); 这个时候就需要把DblCell转换为StrCell,此时存在一个类型转换。

因为要把DblCell转换为StrCell,所以需要在类DblCell中定义一个类型转换运算符:operator StrCell(); 它的作用就是把DblCell转换为StrCell,这个函数是成员函数,不需要参数,也不需要在函数声明时显式写出返回值,当然该函数仍然要返回一个值。

有了这个运算符后,编译会对StrCell sc = dc + dc;做扩展:
1. 生成临时变量var1保存dc + dc的结果。
2. 调用var1.StrCell()这个运算符函数把var1转换为类型StrCell,运算符函数的返回值将成为一个临时变量var2。
3. 调用sc的构造函数,并传入var2。
4. 结束。

Ⅲ 如何调用微软编译器

你的意思是在命令行使用么?

我讲不明白 ,你自己看吧 我网上找的

微软C/C++编译器命令行模式用法

微软C/C++编译器编译选项数目众多,在“命令提示符”窗口键入cl /?即可查看完整列表
(见附录1)。比如说,/GX启用C++异常处理机制,/GR启用C++ RTTI,等等。在此不打算
详细讨论这些编译选项用法。

以下是我的测试目录f:\vstest中的一个样例文件:

//1.cpp

#include <iostream>

using namespace std;

void main()

{

cout << "Hello Royal"<<endl;

}

你现在可以进入该目录执行如下编译命令:

F:\vstest>cl /GX 1.cpp

运行程序,即会产生如下输出:

Hello Royal

Ⅳ 如何在编译器里设置调用别人写好的lib和dll步骤

如何在编译器(vs2008)里设置调用别人写好的lib和dll如何在编译器(vs2008)里设置调用别人写好的lib和dll步骤:1.Tools->options->projectsandsolutions->VC++directories分别在包含文件,库文件填加了路径(这些路径只告诉编译器怎么找文件,没有说把那里面的文件加入工程.)(若不设置,编译报错:无法打开***文件)2.Project->properties->c/c++->general->additionalincludedirectories添加包含文件Project->properties->linker->general->additionallibrarydirectories添加库文件Project->properties->linker->input->添加用到的lib(这一步也可以在代码中显示调用#pragmacomment(lib,"***.lib"))(若不添加,连接报错:无法解析的外部符号)3.将dll文件拷贝到工程debug文件下(如果不拷贝,编译链接不报错,运行报错:无法找到***.dll)切记第三条,让老子排查了一上午,当然最好把所有输出目录定位到一个文件下面。附:DLL与LIB文件的区别共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamiclinklibrary。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库staticlinklibrary。共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位DLL函数的可执行代码所需的信息。静态链接使用静态链接库,链接器从静态链接库LIB获取所有被引用函数,并将库同代码一起放到可执行文件中。关于lib和dll的区别如下:(1)lib是编译时用到的,dll是运行时用到的。如果要完成源代码的编译,只需要lib;如果要使动态链接的程序运行起来,只需要dll。(2)如果有dll文件,那么lib一般是一些索引信息,记录了dll中函数的入口和位置,dll中是函数的具体内容;如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。使用静态编译的lib文件,在运行程序时不需要再挂动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性,发布新版本时要发布新的应用程序才行。(3)动态链接的情况下,有两个文件:一个是LIB文件,一个是DLL文件。LIB包含被DLL导出的函数名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到DLL文件。在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中相应函数代码的地址,从而节省了内存资源。DLL和LIB文件必须随应用程序一起发行,否则应用程序会产生错误。如果不想用lib文件或者没有lib文件,可以用WIN32API函数LoadLibrary、GetProcAddress装载。使用lib需注意两个文件:(1).h头文件,包含lib中说明输出的类或符号原型或数据结构。应用程序调用lib时,需要将该文件包含入应用程序的源文件中。(2).LIB文件,略。使用dll需注意三个文件:(1).h头文件,包含dll中说明输出的类或符号原型或数据结构的.h文件。应用程序调用dll时,需要将该文件包含入应用程序的源文件中。(2).LIB文件,是dll在编译、链接成功之后生成的文件,作用是当其他应用程序调用dll时,需要将该文件引入应用程序,否则产生错误。如果不想用lib文件或者没有lib文件,可以用WIN32API函数LoadLibrary、GetProcAddress装载。(3).dll文件,真正的可执行文件,开发成功后的应用程序在发布时,只需要有.exe文件和.dll文件,并不需要.lib文件和.h头文件

Ⅳ 一直有个疑惑,C/C++编译器是如何调用函数的

同上,比如show函数,在C++中,编译器会给它加上一些限定符,类似A_void_show(),当然也可能有形参的类型等等,通过这种方式识别。

java 调用编译器

根本就不知道你要做什么,脑子里一片混乱。
eclipse不是编译器,那个叫集成开发环境(IDE)。
如果你的程序是java程序,直接调用内建的com.sun.tools.javac.*就可以。
如果你要做编译器,可能还要学个几年。
---------------------------------------------
你要做的事情我明白了,不过要运行java程序还是比较麻烦的。
这个里面有些代码的例子:
http://www.rgagnon.com/javadetails/java-0014.html
不过实际上能够考虑比较多的情况的代码大约需要上万行。我做了好几年还是没有完全完成。

Ⅶ vs作为外部编译器实现和cvi程序之间的调用

这两个库文件中包含了在CVI内核中定义的库函数信息。
2. 如果您需要添加一些与硬件相关的函数库,比如说DAQ、VXI等,您需要在cvi\extlib目录下查找相关的函数库,并把他们包含进来(比如dataacq.lib和nivxi.lib)。
3. 如果外部编译环境需要以WinMain为程序切入点开始执行,您还需要包含cviwmain.lib函数库。
5. 如果您是在其他的编译器下编辑CVI前面板事件的回调函数,您需要在CVI中的Build菜单下选择External Compiler Support来创建一个专用的回调函数的.obj文件。并且该文件必须被包含到外部编译器的工程中。需要注意的是,如果您需要调用CVI编译的静态库文件您同样需要在您的工程中包含.obj文件或者.c文件。对于该种应用可以参考以下链接:
KnowledgaBase 2TDFEPSJ: I Get Error -86 When I Try to Use a Static Library Created in CVI. Why?6. 如果对于.obj文件和.llb文件使用了LoadExternalMole语句,您需要在您的程序中包含以下文件:refsym.obj(标准CVI库)和/或arefsym.obj(标准C)。这些文件只是在程序运行时被载入。
7. 如果您有以下某种功能的函数:1) 调用.uir文件中的定义; 或者 2) 使用LoadExternalMole语句调用.obj/.lib文件中的定义。那么在外部编译器中您需要调用InitCVIRTE 函数,如果您使用了DLLMain函数,那么您还需要调用CloseCVIRTE 函数。

阅读全文

与编译器调用相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:485
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:382
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163