0

我知道 gcc 中的开关,但 TTC 中没有关于此类选项的内容。我读到了一些 _winstart 或什么 swich,但我不知道把它放在哪里。

4

2 回答 2

1

好的,似乎可以在 tcc 中制作非控制台应用程序。我还没有弄清楚这里必要的关键要素是什么。但在 tcc 包中有hello_win.c示例。

于 2013-12-04T07:54:13.820 回答
0

tcc -Wall -Wl,-subsystem=windows example.c -luser32

不弹出控制台窗口。见 tcc -hh

例子.c:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

// need -luser32 at end of tcc cmd line. user presses OK returns 1.

int main(int argc, char *argv[]) {
    char *banner = malloc(100);
    sprintf(banner, "tcc is great, %d cmd line or DRAGGED args", argc - 1);
    while (argc-- > 0) MessageBox(NULL, argv[argc], banner, 1 + 256);
    return(0);
}

要将文件 example.ico(例如由 irfanview 生成)中的图标添加到可执行文件,请使用 cygwin util windres,创建文件 example.rc:

this ICON example.ico

然后

windres example.rc -O coff -o example.res

并使用

tcc -Wall -Wl,-subsystem=windows example.c -luser32 example.res

顺便说一句,我正在使用来自http://repo.or.cz/tinycc.git的 tcc ,并在 cygwin 下编译这个版本的 tcc:

./configure --tccdir=/usr/tcc --bindir=/usr/bin
make
make install

BTW2:有人知道如何在windows下将更多的参数传递给这些c程序吗?有一些窗口限制。拖动 1000 个参数后,得到“文件名或扩展名太长”。限制在窗户一侧。Windows 和商业程序没有此限制。

约翰·雷弗林

于 2017-12-11T04:53:52.707 回答