常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

在freebsd下使用c-sharp和.NET框架

 
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 中文-桌面-开发-调试
阅读上一个主题 :: 阅读下一个主题  
作者 留言
bantana
道童


注册时间: 2002-09-10
文章: 341

文章发表于: Sun 2002-11-17 14:56:34    发表主题: 在freebsd下使用c-sharp和.NET框架 引用并回复

在freebsd下使用c-sharp和.NET框架



c#是微软用来对抗java的一种面向对象的语言。关于对它的介绍,如果你是外星人,请到google去看看。

目前我知道的freebsd下有三个C#编译器,一个是pnet,一个是mono,还有一个就是ms的cli,在最新的ports的lang下可以找到。关于它们之间的兼容性,我想sun的决定可能是正确的。

c#(C sharp)已经被提交为ECMA-334标准,CLI(ECMA--335),java估计sun打算守到它沦为netscape的那一天,相比较而言 Ms 共享源代码 CLI 比 sun java 的那个空空荡荡的license要实际的多。



今天在freebsd4.7下尝试了一下ms的cli,他是我尝试过的问题最少的一个。

顺便写一下编译过程中碰到的问题。

1。安装。

要求freebsd版本4.5,4.6,建议4.7;

说明文档中要求swap至少256M,RAM 512(建议),我的RAM 256M通过;如果内存比较小,需要更多的swap空间。

硬盘空间1G;

Developer distribution (需要gcc编译器和其他build工具)

freebsd内核编译选项中要求去掉下面的选项:

# To use more memory per process

options MAXDSIZ="(2048*1024*1024)"

options MAXSSIZ="(256*1024*1024)"

options DFLDSIZ="(1024*1024*1024)"



编译前建议你看看解压目录中readfirst.html这个文件。



到msdn上下sscli_20021101.tgz 15M左右。

http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/MSDN-FILES/027/002/097/msdncompositedoc.xml

解压缩到/opt目录下

$cd /opt

$tar xzvf sscli_20021101.tgz

$cd sscli

(我用bash编译,在我的bsd环境中其他的csh有点问题,没时间研究那个env脚本)

freebsd的root csh shell env有点问题,默认是csh,手动切换bash并不会重新初始化该shell的环境变量,会导致sscli的env脚本无法正常设置编译环境变量,需要手动修改一下env中的两个环境变量SH,SHELL

export SH=bash

export SHELL=/usr/local/bin/bash



然后再运行env.sh脚本初始化编译环境;

$ . env.sh

Fastchecked Environment

$./configure --prefix=/opt

$./buildall

编译好的文件在/opt/sscli/build目录下,大概有700多M(包括obj文件),可以用make clean简单清理一下。



其他说明:

ports中有一份老版本的20020619,这是cli的bet版,corel说在4.5上测试通过,我没尝试过,直接用最新20021101版(这是1.0的正式版,内部版本号应该是v1.0.0003)。用port cli编译也有上述环境变量错误,需要自己手动修改一下env。



使用ms cli:

1.初始化cli环境:

使用shell为bash的普通用户登录;

运行sscli目录下的env.sh脚本。(想使用其他的shell看看前面的readfirst.html文件)



编译和运行:

$csc hello.cs

out file: hello.exe

$clix hello.exe

编译和运行时会在你的用户目录下生成一个.rotor%的隐含目录,有兴趣可以去看看。



简单测试:

--------------------------------------------------------------------------------

写个文件:hello.cs

--------------------------------------------------------------------------------

代码:

// file hello.cs

using System;



class MainApp {

public static void Main() {

Console.WriteLine("Hello World!");

}

}



使用shell为bash的普通用户登录

$cd /opt/sscli

$ . env.sh

$csc hello.cs

$clix hello.exe

hello world!

!!很慢!

--------------------------------------------------------------------------------

再来一个helloxml.cs

--------------------------------------------------------------------------------

// file helloxml.cs

代码:

using System;

using System.IO;

using System.Xml;



class MainApp {

public static void Main() {



StringWriter w = new StringWriter();



XmlTextWriter x = new XmlTextWriter(w);



x.Formatting = Formatting.Indented;



x.WriteStartDocument();

x.WriteComment("简单测试");

x.WriteStartElement("信息");

x.WriteStartAttribute("项目", "");

x.WriteString("Rotor");

x.WriteEndAttribute();

x.WriteString("你好 世界!");

x.WriteEndElement();

x.WriteEndDocument();



x.Flush();



Console.WriteLine(w.ToString());

}

}



$csc helloxml.cs

$ clix helloxml.exe





<信息 项目="Rotor">你好 世界!

--------------------------------------------------------------------------------



完整测试:

在sscli目录下有个tests目录;可以用perl运行rrun.pl这个脚本。时间比较长,如果你想验证你的cli是否都正常。在我的freebsd4.7下都通过了。



相关链接:

Microsoft 共享源代码 CLI 实现: http://www.microsoft.com/china/msdn/library/Dndotnet/html/mssharsourcecli.asp

pnet: http://www.southern-storm.com.au/portable_net.html

mono project: http://www.go-mono.com/

_________________
What is stupid?

* God takes care of the truly stupid...
* There are no stupid questions -- just stupid people...

Send stupid comments, questions, and suggestions to me.
返回页首
阅览会员资料 发送站内信件
www.1k.cn
游客





文章发表于: Tue 2003-12-23 03:49:24    发表主题: 说明书写得很清楚 引用并回复

"source env.csh"命令执行环境变量
返回页首
bantana
道童


注册时间: 2002-09-10
文章: 341

文章发表于: Mon 2004-02-16 05:31:20    发表主题: 引用并回复

当时我的机器试了有问题。。。 Sad
现在新的版本已经可以在ports中安装了。

1。ports安装只是需要到/usr/local/lang/cli下运行安装命令:
make -DI_AGREE_TO_LICENSE_TERMS install clean
ok后cli安装到目录/usr/local/cli-20021101
2。运行时候你还需要配置一下环境变量
以bash为例:
export LD_LIBRARY_PATH=/usr/local/cli-20021101
同时做个连接,省点热量消耗。
ln -s /usr/local/cli-20021101/csc /usr/local/bin/csc
ln -s /usr/local/cli-20021101/clix /usr/local/bin/clix

_________________
What is stupid?

* God takes care of the truly stupid...
* There are no stupid questions -- just stupid people...

Send stupid comments, questions, and suggestions to me.
返回页首
阅览会员资料 发送站内信件
从以前的文章开始显示:   
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 中文-桌面-开发-调试 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标