Changes between Version 7 and Version 8 of AppDev


Ignore:
Timestamp:
Sep 7, 2011, 4:32:23 PM (13 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AppDev

    v7 v8  
    1414== Windows-specific issues ==
    1515
    16  * The set of 'standard' DLL differs somewhat among 9X/NT/2000/XP. To avoid crashing because a DLL is missing, call {{{::LoadLibrary()}}} and then get function pointers.
    1716 * Visual Studio: set 'Create/Use Precompiled Header' to 'Automatically Generate' ({{{/YX}}}) in C/C++ Precompiled Header project properties.
    1817 * Visual Studio: change 'Compile As' to 'Compile as C++ Code ({{{/TP}}})' in C/C++ 'Compile As' project properties.
     
    2120
    2221=== Shared libraries ===
     22
    2323Your application can use shared libraries (.so).
    2424Include these as separate files.
     
    3434
    3535But what if there are multiple shared libraries, and some depend on others?
    36 It may be difficult to change the Makefiles to use distinct names.
     36It may be difficult to change the Makefiles to use these distinct names.
    3737Here's what you can do to solve this problem:
    3838
    39  * Give each shared library [UpdateVersions#extrainfo a name of the form PHYSICAL=LOGICAL].
    40  * Require client version 6.1.11 or greater.  On Unix, these clients create symbolic links from the slot directory to the project directory, and the append the slot directory to LD_LIBRARY_PATH.
     39 * Give each shared library its 'natural' name (e.g., libfoo.so) as its logical name.
     40 * Give shared libraries the "copy_file" attribute.
    4141
    42 === Stack size ===
    43 Several BOINC projects have experienced application crashes that turned out to be stack overflow.
    44 This can be fixed by calling:
    45 {{{
    46 rlimit rlp;
    47  
    48 getrlimit(RLIMIT_STACK, &rlp);
    49 rlp.rlim_cur = rlp.rlim_max;
    50 setrlimit(RLIMIT_STACK, &rlp);
    51 }}}
    52 before initializing BOINC.
    53 
    54 == Compression ==
    55 
    56 If you release new versions frequently,
    57 have a large executable, and want to conserve server bandwidth,
    58 you may want to compress your executable.
    59 The best way to do this is with [http://upx.sourceforge.net/ Ultimate Packer for eXecutables (UPX)].
     42The client will then copy these libraries into the app's execution directory,
     43giving it the logical name.