aboutsummaryrefslogtreecommitdiff
path: root/win32/lib/crt1.c
diff options
context:
space:
mode:
authorbellard <bellard>2005-04-14 23:49:21 +0000
committerbellard <bellard>2005-04-14 23:49:21 +0000
commit4821702fb49c72216c307341dc3dfd5a3984cf83 (patch)
treea26b97b558b47f741a1aebdc8a9962dd86b7436b /win32/lib/crt1.c
parentd733dc752e8d19bdebca46678c70d04d4d1f6f76 (diff)
downloadtinycc-4821702fb49c72216c307341dc3dfd5a3984cf83.tar.gz
tinycc-4821702fb49c72216c307341dc3dfd5a3984cf83.tar.bz2
win32 merge
Diffstat (limited to 'win32/lib/crt1.c')
-rw-r--r--win32/lib/crt1.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/win32/lib/crt1.c b/win32/lib/crt1.c
new file mode 100644
index 0000000..ce79f58
--- /dev/null
+++ b/win32/lib/crt1.c
@@ -0,0 +1,35 @@
+// =============================================
+// crt1.c
+
+#include <stdlib.h>
+
+#define __UNKNOWN_APP 0
+#define __CONSOLE_APP 1
+#define __GUI_APP 2
+void __set_app_type(int);
+void _controlfp(unsigned a, unsigned b);
+
+typedef struct
+{
+ int newmode;
+} _startupinfo;
+
+void __getmainargs(int *pargc, char ***pargv, char ***penv, int globb, _startupinfo*);
+
+int main(int argc, char **argv, char **env);
+
+int _start(void)
+{
+ int argc; char **argv; char **env; int ret;
+ _startupinfo start_info = {0};
+
+ _controlfp(0x30000, 0x10000);
+ __set_app_type(__CONSOLE_APP);
+ __getmainargs(&argc, &argv, &env, 0, &start_info);
+
+ ret = main(argc, argv, env);
+ exit(ret);
+}
+
+// =============================================
+