MONO 如何打包 .语言NET程序独立运作(winform篇)

     

gcc -c -o data_.o data_.c -IC:/mono-3.2.3/include/mono-2.0

语言 1

语言 2

 

gcc -c -o data.o data.c

         旅行费用

二,mono的.NET运行时,这是一个动态库文件(mono同时提供了静态库),是.NET程序集运行的重要性条件。

一会儿我们就惩处收拾下山了。

ar rcs data.a data_.o data.o

语言 3

2.把编译后的net 运行文件 写入到一个 char[]变量中,并记下那几个程序集的称号,大小

高峰阳光明媚,山中却是雨夹雪的晴到多云。。。

那么最关心的事体来了。

语言 4

 

       第二日

data.c 是.NET程序集的二进制内容

语言 5

C语言程序(your.exe)
–à mono的.NET运行时(libmonosgen-2.0.dll) –à .NET程序集

    一始发像个金元宝,不一会儿便光明四射,八点的阳光简直太不温柔了。

语言 6

       
我们来不及全部梳洗打扮好,刷了牙我便催促着同伴们快走啊!来不及啦!…

三,MONO运行时的安排文件或文件夹(并不一定需要)。

     
 大家尚无提前定好宾馆住宿,没有主持天气预报,也尚无做好旅行攻略…不到五个钟头咱们便到了峨十堰当下。

 

      金佛的东头是一处悬崖,风特别大,我们拍了广大肖像玩嗨了。

 

 
 一起头置身于大雾之中,无意拍下的第三者,做了那张照片,同下面的图共同看,简直是同一空间六个例外的社会风气。

一,嵌入或未嵌入.NET程序集的用C/C++语言写的主程序,这么些主程序负责对mono运行时展开操作。同时还可配合.NET完成其他的职责(比如提供函数供.NET使用);

语言 7

四,外部的先后集并未放手到C程序中的此外的相关.NET程序集。

语言 8

 

       

好了,有了上述的理论知识,下面大家就从头实施一下啊

语言 9

语言 10

     

运行试试,没有问题

       
 我们赶到今儿早上的山崖边,忍不住起首大叫起来:哇,太美了!真是太窘迫了!我们早已不精晓怎么用言语去形容了。

 

语言 11

语言 12

         到了清晨,我们步行了几分钟到了观景台。

“独立运行”的历程是:

再往山下已经远非积雪了,便是个阴雨天。

6.编译test.c和连接data.a,生成 test.exe

      从大家居住的小镇驱车前往峨松原不到100km
,在家待的其实无趣的姐妹六人不顾父母的不予出发了…

语言 13

语言 14

.NET程序集“独立运作”并非真的的单独,它是运行在mono运行时基础之上的。由于这一个运行时方可独立存在,所以,大家不需要在目标机上安装.NET框架。

语言 15

压缩一下

大概7点45分,太阳终于渐渐提高了…

 

语言 16

C语言通过mono提供的运转时api,调用mono运行时有关函数,通过mono运行时加载并运行.NET程序。

       
做索道上了金顶,阳光灿烂,十三月的日光依旧令人无法全身心它,大家便到了酒吧休息。

 

     

如上图:

语言 17

 

语言 18

语言 19

语言 20

语言 21

语言 22

 

语言 23

对照传统的打包.net 运行时 这应当是一个要命令人满意的尝尝吗,为止!

       

1.运用Xbuid命令编译

语言 24

 

语言 25

gcc -o output\test.exe test.c data.a %GCC_OPT% -lmonosgen-2.0

语言 26

倘若大家觉得有需要,下篇文章我会写什么的配置 打包环境。

语言 27

 

语言 28

 

语言 29

libmonosgen-2.0.dll,即是.NET程序集的运转规则,也是.NET程序集与C程序之间数据交换、函数互调的桥梁。

       天黑了上山早就没人了,我们便回了酒吧休息。

 

       
 山脚的气候是暗淡的,下着零星小雨。不知晓大家要住哪个地方要去什么地方便开车跟着前方车辆发展,直到开到了峨眉半山-零海里停车场。半山的气候起始雾蒙蒙的。

 

语言 30

winform 最要旨的 lib 有以下多少个,添加到lib\mono\gac目录下。

语言 31

.NET程序独立运转是指运行.NET的处理器上,不需要安装.NET框架。

 这时候就足以戴上墨镜装逼了。  

语言 32

         

这一个文件打包了mono的.net 运行时,size有多大呢?

       
在停车场附近的旅舍吃午餐,我们协商住半山仍旧去山顶,酒店的经理娘给大家看了当天日出的相片与视频。实在太美,我们当下决定上山去。

 

         从零海里坐观光车到了雷洞坪,山上竟有了食盐,还有大雾。

5.将data.o和data_.o 合成为一个单纯的静态库:data.a

俺们提神的拍着照片,一边等候太阳的产出。等待的时候我们说起这一幕:我们像是生活在天宫里的小神仙,研究着齐天大圣会不会蓦然从云层窜出来…

末段的收获如下

语言 33

即:

语言 34

 

      阳光洒在云海,给云朵铺了一层金灿灿的光,美观极了。

 

语言 35

4.将编译data_.c编译为对象文件data_.o

上了索道大概几分钟,眼前甚至出现了这么的景点。

会生成3个文件

       大家在悬崖处拍了照片,隐约能看到被白云藏住的晴空。

data.h  是data_.c的头文件,是用户c源码必须的。

     
金顶上一起只有3个酒馆,在网上一度订不到了,打电话到酒吧精通,还有房间。于是决定坐索道上去,从雷洞坪到索道口还需走大概3㎞的山路。这一头的景色很美…

编译后的次第:语言 36

         走了几步便是前面的大约,甚是奇妙。

 

语言 37

3.将编译data.c编译为对象文件data.o

   

 

前边的这片云海依旧褐色的,云海的另一方却已在散发着金色的光…

语言 38

     

 

本次旅行,甚是幸运,有幸见到了峨北海的佛光、云彩、日落、日出、艳阳天、雪景、阴雨天…不同的光景。太走运了,所以必然要记录下来,2019年肯定会特地特别美好。

 

       
七点多的时候宾馆的劳动人士开端敲门叫醒熟睡的行人们,可以去看日出啦!

 

明天与明天拍的同一处景色,竟出现了那般大的差距,真是无奇不有。

 

mkpack H:\Csharp\Mono\Test\TestBuild\TestBuild\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe

data_.c 是为着文件用户调用的针对性data.c的函数和变量

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图