-
Which language has been used for developing UWIN?
UWIN is written almost entirely in C or ksh. The control panel
Applet was written by Wipro in C++. UWIN was compiled with
the Microsoft Visual C/C++ compiler.
-
What compiler comes with UWIN?
The UWIN development kit provides a cc command that is a wrapper for
an underlying compiler which is not provided by UWIN. The cc command
can work with several different compilers including free and commercial
versions of Microsoft Visual C/C++, MingW (GNU), Digital Mars, and
Borland. The compiler uses UNIX conventions and generates .o and .a files.
The cc and ld can also be used to generate DLLs. With the -V option
of cc, you can see the compiler commands that are invoked.
-
Is gcc available for building UWIN executables?
The GNU compiler set, gcc, g++, g77.exe, gdb is available
for UWIN as part of MingW.
-
Can I compile and run C++ applications for UWIN?
Yes. UWIN provides the CC compiler that takes the same options
as the compiler on any UNIX platform. The compiler is a wrapper
over the underlying native C compiler.
-
Can I develop native applications with UWIN development kit?
Yes, you can use ncc and nld to build native executables and
dlls that do not depend on the UWIN run time facilities or headers.
-
How do I pass non-standard options to the underlying compiler?
To pass options directly to the underlying compiler,
linker, or preprocessor, use the -Y option of cc. The -Y
option takes an option argument of the form <letter>,<option>
where <letter> is c,l, or p and option is the option to be passed
down. For example, -Yl,-Z20 will pass the option -Z20 to the
underlying linker.
-
What C preprocessor does UWIN use?
By default, UWIN uses the AST C/C++ preprocessor. The reason for this
is that native C preprocessors do not know how to resolve UWIN
symlinks and UNIX source code frequently contains symlinks. The
AST preprocessor should be able to emulate all the known preprocessors.
To use the native preprocessor, set the environment variable
nativepp=-1.
-
Which system calls are supported?
Most of the X/Open Release 4 APIs are supported.
-
Are there any UWIN specific APIs?
Yes, UWIN provides some functions which help the user to use
native WIN32 calls from UWIN applications. The <uwin.h> header
provides an interface to these functions.
-
Can I mix UWIN with native Win32 API's?
Yes, you can mix calls. However, in some cases blocking WIN32 calls
will not be interruptable by UNIX signals.
-
Does UWIN support sockets?
UWIN provides a UNIX interface to WINSOCK2 and returns file
descriptors instead of Windows handles.
-
Can I run curses programs with UWIN?
Yes. UWIN supports vt100 emulation and provides virtually complete
termios support. The curses library is included in UWIN 4.0.
-
Is tcl/tk available for UWIN?
UWIN 4.0supports tcl 7.6 but it should be possible to compile
newer versions.
-
How can I make my application obey the older BSD signal semantics?
Compile the applications with the -D_BSDCOMPAT flag to obey BSD
Unix signal semantics.
-
How can I build dynamically linked libraries for UWIN Applications?
Using the ld command. For detailed procedure on building Dlls
refer documentation in /usr/doc.
-
What debugger comes with UWIN?
UWIN does not provide a debugger. You can use the native debugger for
debugging by invoking msvc or msdev. Applications compiled on UWIN using
the cc compiler can be debugged using the Microsoft Visual C++ IDE.
However, when the GNU gcc compiler is used, the debugger that comes
along with it must be used.
-
How can I trace an application using UWIN?
All UWIN applications can be traced using the command /bin/trace.
It gives information about the system calls made the application. The
output can also be redirected to a file. For more information on
how to use trace command see the man page.
-
How do I trace the UWIN daemons?
The utility /etc/traceit can be used to enable system call tracing
for a daemon. See the man page for /etc/traceit for more details.
-
Why is the setuid call failing on UWIN?
There can be two reasons why a setuid call can fail in UWIN.
Either the UMS service is not installed/not running or the UCS client
is not installed for that particular user.