ASP.NET网页设计C++与C#夹杂天生.NET程序
如果需要重新编写代码,几乎任何一门计算机语言都可以跨平台了,还用得着Java嘛,而且像PHP/C#等语言不需要修改代码都可以跨Windows/Linux。c++|程序 本文供应了一个办法,让C++源码和C#源码一同编译链接成一个单一的Assembly。因为C++供应了IJW办法,同意将旧有C++代码也编译成托管代码,因而这篇小文能够用极小的事情量来完全办理一切C++遗留代码移植到.NET的成绩。
这个办法,再加上上次的小文《您也利用托管C++吗?》,就能够把C++遗留代码移植到.NET的一切办法一扫而光了。
好了,言回正传。
假定一个很复杂的C++程序,它只要一个函数:
//c.h
#pragmaonce
intsqr(intn);
//c.cpp
#include"c.h"
intsqr(intn)
{
returnn*n;
}
为了能让它与C#配合事情,必需为它加个.NET的包装:
//wrapper.cpp
#include"c.h"
namespacewrapper
{
publicrefclasscalc
{
public:
staticintsqr(intn)
{
return::sqr(n);
}
};
}
如今能够用C#往挪用它了:
//cs.cs
usingSystem;
namespacetest
{
publicclassProgram
{
publicstaticvoidMain()
{
Console.WriteLine(wrapper.calc.sqr(11));
}
}
}
如今,怎样将这些源码编译成一个exe文件呢?
用集成情况是很难的,最便利的,仍是创立一个makefile来完成。
因为这个例子很复杂,我用命令行来创立这个exe文件:
clc.cppwrapper.cpp/c/clr
天生c.obj和wrapper.obj
csc/addmodule:wrapper.obj/target:module/out:cs.netmodulecs.cs
天生cs.netmodule
linkc.objwrapper.objcs.netmodule/LTCG/Subsystem:Console/entry:test.Program.Main/out:o.exe
天生o.exe
运转o.exe 显现了局:121
------
沐枫小筑C++与C#夹杂天生.NET程序
参考材料:
1..netmoduleFilesasLinkerInputhttp://msdn2.microsoft.com/en-us/library/k669k83h(VS.80).aspx
2.选择.netmodule输出文件的格局http://msdn2.microsoft.com/zh-CN/library/0zyh2sf2(VS.80).aspx
2003年中微软发布最新版本的ASP.netWebMatrix,对于我们喜欢用Asp.net来编程的朋友实在是个好消息,我也实实在在的将Asp.net更深入的研究了一下,以方便我以后更好的运用它,同时我也讲讲使用它的感受。 市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。 HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了. 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
页:
[1]