Ubuntu中mono环境的搭建

30 views 八月 14, 10 by Timothy

Mono的大名,搞.NET的同学都知道。它使.NET程序在Linux下有了跨平台运行的可能。随着mono的逐步发展,现在已经逐渐趋于稳定和流行了。此文介绍一下Ubuntu中mono环境的搭建。

1.安装

1
$ sudo apt-get install mono-gmcs libmono-system-data2.0-cil libmono-system-ldap2.0-cil libmono-system-messaging2.0-cil libmono-system-runtime2.0-cil

当然,还有其他的一些包可选,比如:

libmono-winforms2.0-cil 提供WinForm程序开发功能

libmono-system-web2.0-cil 提供asp.net web程序开发功能

libmono-system-web-mvc1.0-cil 提供MVC的web开发框架

libmono-wcf3.0-cil 提供WCF开发功能

libmono-nunit2.4-cil Nunit,单元测试模块

2.安装好后,查看mono相关信息

1
2
3
4
5
6
7
8
Mono JIT compiler version 2.4.4 (Debian 2.4.4~svn151842-1ubuntu4)
Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  x86
        Disabled:      none

3.测试程序

?View Code CSHARP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using System.Linq;
 
namespace Test
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Hello Mono!");
            Console.ReadLine();
        }
    }
}

保存为test.cs,然后用gmcs编译,运行正常。

至此,mono环境配置成功。

Objective-C 学习笔记(一) 第一个Hello World程序

24 views 六月 23, 10 by Timothy

最近抽空一直在学习Objective-C,打算不久的将来和同事一起搞iPhone应用开发,所以也咬牙入了Mac Mini和iPhone 3GS。教程看的是《Objective-C基础教程》(Learning Objective-C on the Mac),一本比较初级的教程,也比较适合入门。看了一大半了,不过发现没有动手实际写代码,很多东西还是容易遗忘。正所谓一个好脑袋,不如一支烂笔尖,虽然现在早已不是笔和纸流行的时代,还是打算把自己理解的东西,用学习笔记的形式,把这些记录在偶的Blog中,供以后参考和复习。

废话不多说了,先介绍下Objective-C,Objecive-C是对原有的C语言的扩展,它通过对C语言进行最小集合的扩展,使其本身具有了面向对象的能力。Objective-C并不是一个新的语言,早在20世纪80年代,就诞生了。

这里需要理解几个概念(Key concepts):
Objective-C: 对C语言的扩展,一门面向对象的编程语言
Cocoa: 苹果公司为Objective-C提供的工具包
Cocoa和Objective-C是苹果公司Mac OS X操作系统的核心
Cocoa的前身,是NextSTEP,是Jobs在成立NeXT公司时创建的一款功能强大的用户界面工具包,后来NeXT公司被苹果收购,NextSTEP被更名为Cocoa,这也是Cocoa的由来了。其实在很多Cocoa的函数中,有大量的函数是以"NS”开头的,NS就是NextSTEP的缩写,属于历史遗留问题了。而这些函数的命名也一直被保留下来。

按照惯例,任何编程语言都是以Hello World开始的,下面是Objective-C的Hello World程序:

1
2
3
4
5
6
7
8
#import <fundation fundation.h>
 
int main(int argc, const char *argv[])
{
  NSLog(@"Hello World and Objective-C!");
 
  return (0);
}  // main

#import关键字: 类似于C语言里面的include。不过import比include更加智能。为了在C中的多个地方,不重复包含同一个头文件,常常需要用#ifdef等相关的预编译指令来进行判断。Objective-C中更为方便,只需要用import关键字简单实现头文件的包含即可,而不必担心同一个头文件会在多个地方被重复包含。

NSLog函数:  用以输出字符串,其中和C语言有个不一样的地方,字符串前面有个@符号。表示后面的字符串是属于NSString,而不是一般的字符串。NSString类型是Cocoa中特有的字符串类型。

运行程序,输出结果,就是打印一串字符串。

第一篇笔记到此结束,以后继续……

[置顶]常用扩展方法收集&整理(置顶-不断更新)

1,004 views 十一月 14, 09 by Timothy

扩展方法,是.NET 3.5中引入的新特性,在《扩展方法使用小结中》,我有具体的介绍。合理的使用扩展方法,能节约不少的代码量,甚至能在开发中给我们带来意想不到的效果,让代码更加的简洁、易懂。其实,网上早就有了不少的大牛写的各种出色的扩展方法,以至于我有了整理一个扩展方法库的想法,把一些实用、优秀的扩展方法收集起来,一来为资源共享,二来也是为了应用在以后的项目代码中,提高开发效率。 Read the rest of this entry »

C# IDE Mobile – Write your C# code anywhere!

270 views 五月 29, 09 by Timothy

最近败了个QWERTY全键盘的HTC Touch pro,全键盘的感觉不错,输入速度比以前靠触摸笔点屏幕快多了。装了个Python的Windows mobile版本,没事学着写Python玩玩。一日突发奇想,要是能在PPC手机上写C#的程序并能运行起来,那就太棒了。果然不出我所料,国外已经有大侠已经做好了这个东东,一个运行在Windows Mobile手机上的简单的C# IDE,让你可以随时在你的PPC手机上写C#的程序。这是作者自己实现的一个简单IDE,现在已经支持的功能如下:

* 可以创建基于图形用户界面的程序

* 可创建方法和类

* 可以调用所有的.NET Compact Framework的类。

* 执行文件操作

* 运行进程

* 使用.NET 2.0中的范型

* 支持C#的控制语句,包括循环、条件判断……

IDE的使用非常简单,写入你的代码,然后可以立即运行,看到结果。

简单的例子,如下:

   1:  using System.Windows.Forms;
   2:  namespace TestNS
   3:  {
   4:      class TestCL
   5:      {
   6:         public static void Main()
   7:         {
   8:              MessageBox.Show("Hello Timothy!");
   9:         }
  10:      }
  11:  }

 

点击菜单下面的Debug->Run,运行结果截图如下:

1

 

IDE自带一些简单的功能, 包括插入代码模板,编辑(复制、粘贴、剪切)功能,还支持插件功能。

2

 

软件下载地址: http://www.geocities.com/hrowson/wm5_software/cs_ide_mobile.zip

Code Sample: http://www.geocities.com/hrowson/wm5_software/cs_ide_mobile_samples.zip

用户手册、帮助文档地址: http://www.geocities.com/hrowson/wm5_software/cs_ide_mobile_manual/index.htm

作者主页:http://www.geocities.com/hrowson/wm5_software/index.htm

赶紧下载吧,write your C# code anywhere! 活活~~