社区
C#
帖子详情
C#如何生成本地化的非托管代码(不再依赖CLR的应用程序)高人请指教,谢谢!
青蛙王子
2005-12-09 05:15:24
C#的Win32应用程序,发布Release版本后
希望能得到标准Win32应用程序,不依赖.Net Framework的支持,
不知道可不可以?
谢谢大家!
...全文
2858
116
打赏
收藏
C#如何生成本地化的非托管代码(不再依赖CLR的应用程序)高人请指教,谢谢!
C#的Win32应用程序,发布Release版本后 希望能得到标准Win32应用程序,不依赖.Net Framework的支持, 不知道可不可以? 谢谢大家!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
116 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
salecn
2010-06-22
打赏
举报
回复
来学习学习,先感谢前辈了!
清风道禅
2010-06-22
打赏
举报
回复
现在暂时.NET没集成到系统里去··你闹得慌·等WIN7普及了·什么问题就解决了·
doubleu2005
2010-06-22
打赏
举报
回复
.net的所有程序都要先编译为MSIL,再用JIT即使编译,因此从根本上不能脱离framework,还是用C++吧
nolande
2010-06-22
打赏
举报
回复
偶是新手,我来看看,于是被弄晕了
mck477
2010-06-22
打赏
举报
回复
虽然我只是新手,不过看到上面一系列的回答,我只想说一句,事实胜于雄辩,
你认为做的出来,而别人认为做不出来,那你就做出来来证明是可以做出来的,
不然就举出个真实的例子出来来证明,这样才能让别人信服
leon9090
2010-06-21
打赏
举报
回复
学习,学习。
zcfzxh1
2010-06-21
打赏
举报
回复
[Quote=引用 63 楼 leiwenbin 的回复:]
管它什么 .net frame work, JTT, CLR, 保护模式,实模式,虚拟机... 等等概念, 都是软件嘛, 最终都变成0,1 嘛, 即然可以装操作系统, 为什么不能装 虚拟机,.net frk?, 也许有一天, 在 .net frmawwork 上还会再加一个层, 这次不是为了要 '跨平台 ', ……
[/Quote]
你说的我完全同意,但问题是现在很多机器上没有装.net。而90%以上的机器装的windows,而windows100%带windows API。你的设想需等到90%以上机器都装.net就不存在问题了。请问我要用c#(主要是看到C#语法简单)写一个能在所有windows机器上运行的程序该怎么办。
gxlam
2006-04-15
打赏
举报
回复
to coolksj(Jason.NET(请看,问题的背后是什么))
XenoCode 打包后的执行文件比Thinstall打包后的执行文件性能要好。非常期待你的Framework Linker 早日发布!
coolksj
2006-04-14
打赏
举报
回复
我做个总结吧。
首先,.NET 目前运行必须要 Framework 的支持。
第二,MS 决对可以花大精力将 Framework 本地化,并使C#或VB.net写出来的东西本地化,不过必须牺牲一些。NET的特性。但从目前战策层看,这种事情几乎不可能发生
第三,Framework 不一定非要安装。Dotnet 让我非常苦恼一点的就是必须要在安装了 Framework 的机器上运行,但这样,我写的程序copy到 U盘上,就不能随意运行了。但事实上,已经早有工具可以将 Framework 和 Dotnet 程序打包在一起,使其可以在不需要 Framework 环境的机器上也可以运行
这样的工具有:Thinstall , Remosoft links
而我也正在开发这样的工具,做为我 MaxtoCode 的一种辅助工具免费提供给大家使用。
我命名它为 Framework Linker ,核心问题基本解决,不过近来较忙,所以暂近了开发。
可以关注官方网站:Http://www.maxtocode.com.cn
基本上,如果要想做一个小的应用程序,如果会其它的非中间语言,建议不要使用 Dotnet。不过如果你没有选择(技术上,后期维护上,UI上),那么就接受以上的事实吧。
Samen168
2006-04-14
打赏
举报
回复
呵呵,楼上的说的是
tiaoci
2006-04-14
打赏
举报
回复
考,这帖子怎么还在啊?
我就没见过 zhouhongyun(春天的十七个瞬间) 这么积极歪歪的了
首先这个问题的答案是“不能”脱离 .Net Framework
但是你可以找个工具把.Net Framework的东西剥离出来和你成程序打成一个包
这样用户就不需要安装.NET, 但是这个对于MS来说没有任何的利益
而且还会导致.NET失去原本的意义,所以MS不会这么做
而且就算你剥离出来后,因为.NET运行本身会需要一堆的后台支持
所以剥离出的文件还是非常大,可能也有个10几M,和安装没有区别
另外一个办法就是你可以使用Mono,其中自带了一个Mini版本
只需要三个dll一个exe,加上你的一个程序就可以跑了,
压缩后不到一张小盘的容量,应当说非常Mini了,
如果你做个人软件的分发,那时相当好的
(你甚至可以继续把不需要的东西剥离,因为存在源代码)
但是我们为什么用.NET?还不是因为强大的底层功能支持,
如果所有的功能都没有了,没有了xml,没有了数据库访问
没有了网络访问的能力,那还用什么.NET?
所以个人觉得没有必要刻意去精简.NET的底层支持库,
装就装吧,Windows都装了,Office都装了,还在乎20几M的.NET?
强烈建议斑竹把这个答案加入FAQ :)
wjlsmail
2006-04-14
打赏
举报
回复
只要被托管就需要 Framework 吧
跟随微软,享受便利的同时必然丧失对底层的控制
wcmj
2006-04-14
打赏
举报
回复
好贴!
我只问一句,要是不要fm那何必要用C#来写,我用C#就图方便!没了运行时C#还玩什么
cdonsun
2005-12-16
打赏
举报
回复
为了平息这里的战火,我专门作了一个圣诞贺卡
各位消消火
圣诞快乐!
http://www.aoch.com/dl/XGame_Release.rar
emp
2005-12-16
打赏
举报
回复
内核全部用vb是不可能的事情
cdonsun
2005-12-16
打赏
举报
回复
关于VB写windows核心的问题
如果说是操作系统的核心不要说VB,就连VC也占不到边。如果说使用VB写一些OS之上的Windows的核心组件是完全可能的,比如Terminal Services等服务组建算不算是win32核心服务组建呢?
chaircat
2005-12-16
打赏
举报
回复
讨论了那么多...我也来两句...
在调试C#程序的时候不是有个反汇编的选项吗?这可是真正的汇编代码,不是IL,也就是说,C#的代码被编译成汇编代码进而编译成本机代码是有可能的,但是别忘了C#程序靠什么工作?简单的Hello world也要System.Writeln()函数支持,即是说,不管怎样C#程序都是要拖上一个庞大的.NET类库的,即使你的程序完全用Windows API(P/Invoke)来写,也要拖上P/Invoke的命名空间(忘记叫什么了:-P)
所以就算C#可以编译成本机代码,成本也太大了(还要编译整个类库),而且类似的类库在VC++里早就有了,就是MFC,同样强大而不失方便~~~
qw_zr
2005-12-16
打赏
举报
回复
很热闹,我也来看看。
cdonsun
2005-12-16
打赏
举报
回复
讨论技术没有什么错的
最不喜欢有人带有侮辱性的言论
关于技术或是学术,每个人都有盲点,不可能面面俱到
可能我问的这个问题是一个引发争议的噱头
希望大家不要互相攻击,贬低别人的同时你也在贬低自己
谢谢
cdonsun
2005-12-16
打赏
举报
回复
各位不准骂人或带有侮辱性的称谓,我鄙视这样的人。
关于你问的这个问题我估计你来我徒弟都做不了。
引用编译原理中的一段给你说明问题吧,
程序分配内存分为三种:
1全局静态内存,包括全局变量,静态变量,常量等,编译时确定长度,退出后系统回收
2栈内存,包括局部变量,形式参数等,运行时确定长度,离开作用域后栈指针复原自动释放
3堆内存,包括对象,通过new操作符申请的散片内存空间,由操作系统分配,无人监管,
无限制使用,执行释放操作有操作系统完成,性能比较低。
我们所说的GC回收的是第3种内存,因为以上两种不用回收,属于不可变资源,编译器可以控制这
部分资源。首先堆内存不受编译器监控,因为是动态的,加之操作系统只有在程序退出时才能强制回收这个程序所引用的所有内存执行释放操作,在程序运行时是不可以知道内存的引用情况的,所以GC不可能托付给OS。
我不相信你是C/C++程序员,最起码的知识都这么含糊,更难以相信你是驱动程序的开发人员告诉你,既然对内存是OS分配的,那么OS在内存空间的管理上通过一个类似于FAT的一个内存分配表来
实现的(实际中他的效率比FAT高的多,机制也不同,但是原理是一样的)当你new了一段空间时,OS分配连续内存空间(当然只是寻址空间上的连续)会给你一个指针指向这个空间的首地址,而OS通过这个映射表确定一分配空间地址范围,当执行free时OS清除这个表项,空间自然变成可分配的了。
csdn发不了图片,不然给你画个图
加载更多回复(96)
CLR
的执行模型(
C#
)
好好学习底层运行机制,从
CLR
via
C#
开始。...
CLR
的核心功能(比如内存管理、程序集加载、安全性、异常处理和线程同步)可由面向
CLR
的所有语言(
C#
,Visual Basic,F#等)使用。 1.将源
代码
编译成
托管
模块:...
[原创]
CLR
GC垃圾收集过程模拟(用
C#
来显示垃圾收集过程的视觉效果)
...... 废话不多说了,本人是搞Web...对象的
生成
过程(newobj指令) 1:计算类型(包括基类)所有字段的字节总数 2: 字节总数再加上对象开销字段字节数(相加为:对象所需的字节数)。每个对象包含2个开销字段...
CLR
GC垃圾收集过程模拟(用
C#
来显示垃圾收集过程的视觉效果)
工作一年多了,偶尔的回忆,写
代码
值得吗?一切都回不去了,已经没有回头路了,后悔吗?答案是:哥从来不后悔当初的决定,一路向北。大学学了4年C,C++,没入门,略懂皮毛。回忆中,只记得一直开N多课程,还记得大四...
CLR
勘误
下面是针对China-pub上Renart之前的“《
CLR
via
C#
》中文版民间勘误”做出的回应。 首先
非
常感谢Renart花精力给出那个勘误,相信对原来的译本是一个很好的补充。下面是我这边
请
张杰良就第三部分(13-17)和第五部分...
CLR
一书译者(PART III和Part V)对Renart勘误的回应
下面是针对China-pub上Renart之前的“《
CLR
via
C#
》中文版民间勘误”做出的回应。 首先
非
常感谢Renart花精力给出那个勘误,相信对原来的译本是一个很好的补充。下面是我这边
请
张杰良就第三部分(13-17)和第五部分...
C#
111,119
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章