1 This is winerc, the resource compiler for the Wine project. It takes the
2 same input as rc.exe, but generates C files as output. These C files can
3 be linked together with the application, which can access the resource
4 data directly instead of using FindResource/LoadResource/LockResource.
5 The generated C code contains arrays, which represent the resource as if
6 it was obtained from LoadResource. A table to map resource names to
7 pointers is also available.
8 Primary applications are the resources of sysres.dll and a future
9 commdlg.dll, but the use in the library version is possible as well.
10 The expected advantage of using winerc over sysres.dll is a speed
11 improvement, however, actual data to support that claim are not
12 available. The use of winerc might also simplify the source code. For
13 example, the system menu is managed in the function CopySysMenu
14 (controls/menu.c). A winerc-based implementation would just call
15 return LoadMenuIndirect(_Sysres_SYSMENU);
16 As the resources are already in the Wine image, they are loaded on
17 demand as any other part of a Unix executable image.
20 This is the first release of winerc. It is alpha software, as the rest
21 of Wine is. If you use it for replacing sysres.dll, or if you write
22 other parts of Wine which require resource (like commdlg), you will
23 probably notice a loss in stability. This is especially true for cursor
24 and icon resources, as they are unlikely to work at all. See the TODO
28 The license for Wine applies for winerc as well. Read the files LICENSE
29 and WARRANTY in the current or any future distribution for details. You
30 can change any source files, and you can add your own copyright notice,
31 as long as you leave the existing copyrights intact.
34 If you find a bug in winerc, you can report it to me,
35 martin@cs.csufresno.edu (Martin von Loewis) or to
36 comp.emulators.ms-windows.wine. If you can fix the bug, send the diffs
37 and ChangeLog entry to julliard@lrc.epfl.ch (Alexandre Julliard).