2
require_once("docutil.php");
4
page_head("Application development tips");
6
<h2>Cross-platform functions</h2>
8
Most POSIX calls are supported on Unix and Windows.
9
For areas that are different (e.g. scanning directories)
10
BOINC supplies some generic functions with implementations for all platforms.
11
Similar code may be available from other open-source projects.
16
<h2>Windows-specific issues</h2>
19
The set of 'standard' DLL differs somewhat among 9X/NT/2000/XP.
20
To avoid crashing because a DLL is missing,
21
call ::LoadLibrary() and then get function pointers.
23
Visual Studio: set 'Create/Use Precompiled Header' to
24
'Automatically Generate' (/YX)
25
in C/C++ Precompiled Header project properties.
27
Visual Studio: change 'Compile As' to
28
'Compile as C++ Code (/TP)'
29
in C/C++ 'Compile As' project properties.
32
<h2>Cross-language issues</h2>
34
The BOINC API is implemented in C++.
35
Information about using it from C and FORTRAN is
36
<a href=fortran.php>here</a>.
39
If you release new versions frequently,
40
have a large executable,
41
and want to conserve server bandwidth,
42
you may want to compress your executable.
43
The best way to do this is with
44
<a href=http://upx.sourceforge.net/>Ultimate Packer for eXecutables (UPX)</a>.