[Openmcl-devel] save-application question
gb at clozure.com
Tue Dec 14 05:17:59 UTC 2010
Windows .exe files have a field in their headers that indicate whether
they use the "console" or "GUI" subsystem. (IIRC, the field can take
on some other value, most of which are only of historical interest.)
If you double-click on an executable that uses the console subsystem
(as wx86cl.exe ordinarily claims to), a console window is created.
SAVE-APPLICATION takes a :PREPEND-KERNEL argument; :PREPEND-KERNEL T
will "prepend" a copy of the currently running kernel to the heap
image. If :PREPEND-KERNEL is specified, then an additional Windows-specific
:APPLICATION-TYPE argument can also be used and can take either of the
values :CONSOLE (the default) or :GUI; this'll affect the subsystem field
in the copy of the kernel that's prepended to the image.
(save-application "myapp.exe" :prepend-kernel t :application-type :gui ...)
will create a "gui subsystem" executable (that won't display a console window.)
GUI programs can create a console window if they want to, and console
programs can create windows and process events, and it's not clear
that these values of the "subsystem" byte affect too much else in
practice (besides this automatic console window creation on startup.)
On Mon, 13 Dec 2010, Kevin Raison wrote:
> I am writing a small cross-platform gui app in ccl using ltk. The app is
> working quite well on Linux, OSX and Windows, but I do have one small issue.
> On Windows, when I run the stand-alone application created using
> save-application, a dos terminal window opens up and stays open until the
> main gui exits. Is there a method for divorcing my ccl app from its
> controlling terminal so that the dos window will go away immediately? Users
> are complaining about the extra garbage on their screens. (I am very
> ignorant of Windows, so I apologize if this is a beginner's question.)
> Thanks in advance for any advice.
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
More information about the Openmcl-devel