1 |
<html> |
2 |
<head> |
3 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
4 |
<title>DotGNU Samples</title> |
5 |
<link rel="stylesheet" type="text/css" href="dgmain.css" /> |
6 |
</head> |
7 |
<body bgcolor="#ffffff"> |
8 |
<p> |
9 |
<h1> |
10 |
DotGNU Samples |
11 |
</h1> |
12 |
<p> |
13 |
|
14 |
This CD-ROM contains a number of sample programs that demonstrate DotGNU's |
15 |
capabilities to get you started. For most of these samples, you will need |
16 |
to have <a href="install.html">installed</a> DotGNU Portable.NET first.<p> |
17 |
|
18 |
<h2>DotGNU Portable Nim</h2><p> |
19 |
|
20 |
<a href="nim.png" target="_top"><img alt="Nim screenshot - click to enlarge" align="right" src="nim-small.png"></a>Mohan Embar wrote an implementation |
21 |
of the traditional "Nim" game to demonstrate how to write a |
22 |
Model-View-Controller application using DotGNU Portable.NET's |
23 |
System.Windows.Forms implementation.<p> |
24 |
|
25 |
<blockquote> |
26 |
<a href="../../samples/dotgnu-nim.tar.gz">samples/dotgnu-nim.tar.gz</a> |
27 |
</blockquote><p> |
28 |
|
29 |
After unpacking the distribution, use "<code>ilrun nim</code>" to run |
30 |
the game. See the <code>README</code> file in the distribution for further |
31 |
instructions.<p> |
32 |
|
33 |
<h2>Qt# Mahjongg</h2><p> |
34 |
|
35 |
<a href="mahjongg.png" target="_top"><img alt="Qt# Mahjongg screenshot - click to enlarge" align="right" src="mahjongg-small.png"></a>Qt# Mahjongg is an example |
36 |
of writing a Qt# application for use with DotGNU Portable.NET. It implements |
37 |
a simple "match the tiles" game, similar to KMahjongg.<p> |
38 |
|
39 |
You will need to install <a href="qtsharp.html">Qt#</a> to compile and |
40 |
run this program. Once you have done that, unpack the following file |
41 |
and type "make":<p> |
42 |
|
43 |
<blockquote> |
44 |
<a href="../../samples/mahjongg-0.0.1.tar.gz">samples/mahjongg-0.0.1.tar.gz</a> |
45 |
</blockquote><p> |
46 |
|
47 |
You then run it by typing "<code>ilrun mahjongg.exe</code>" at the |
48 |
command-line.<p> |
49 |
|
50 |
<h2>PNetMark - a benchmarking tool</h2><p> |
51 |
|
52 |
PNetMark is a benchmarking tool for Common Language Runtime (CLR) |
53 |
environments such as DotGNU Portable.NET. The original version was |
54 |
loosely based on the techniques used by the CaffeineMark to benchmark |
55 |
Java Virtual Machines. Since then, two other standard floating-point |
56 |
benchmarks have been included: |
57 |
<a href="http://math.nist.gov/scimark2/" target="_top">SciMark</a> and |
58 |
<a href="http://www.netlib.org/benchmark/linpackjava/" target="_top">Linpack</a>.<p> |
59 |
|
60 |
The primary purpose of PNetMark is to identify areas of DotGNU Portable.NET |
61 |
that may need further optimization. The source code is available on |
62 |
this CD-ROM in the following location:<p> |
63 |
|
64 |
<blockquote> |
65 |
<a href="../../samples/pnetmark-0.0.6.tar.gz">samples/pnetmark-0.0.6.tar.gz</a> |
66 |
</blockquote><p> |
67 |
|
68 |
See the README file in the distribution for instructions on compiling |
69 |
and running the benchmarks.<p> |
70 |
|
71 |
<h2>Pnetcurses - using PInvoke</h2><p> |
72 |
|
73 |
The Pnetcurses program is an example of using PInvoke with DotGNU |
74 |
Portable.NET to access external C libraries. It wraps up the "ncurses" |
75 |
screen library, and runs inside a regular terminal window. You will |
76 |
need either a Unix system, or Cygwin under Windows to run this example:<p> |
77 |
|
78 |
<blockquote> |
79 |
<a href="../../samples/pnetcurses-0.0.2.tar.gz">samples/pnetcurses-0.0.2.tar.gz</a> |
80 |
</blockquote><p> |
81 |
|
82 |
The Pnetcurses package also includes a small game called "Curse of Frogger" |
83 |
that demonstrates how to use the library.<p> |
84 |
|
85 |
The Xsharp and System.Drawing.Win32 libraries within pnetlib also use |
86 |
PInvoke extensively, so you can look at those for further guidelines. |
87 |
You will probably also want to read the <a href="../pnet/pinvoke.html">PInvoke |
88 |
Conventions for Unix</a> guide when writing PInvoke applications.<p> |
89 |
|
90 |
</body> |
91 |
</html> |