问题标签 [tcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
950 浏览

c - 在 ubuntu for arm 上编译 TCC 的问题

我尝试使用 gcc 4.6.3 为 ARM 编译 tcc 。但是在共享/静态 lib mod 中编译时出现以下错误:

我正在使用来自 tcc github 的最新分支

0 投票
1 回答
1884 浏览

assembly - Hello world with TCC 使用汇编语言?

我不懂汇编语言,在我的学校里,他们这样做只是为了展示什么是汇编语言以及如何编译。

你们能给我一些使用可以与 tccasm 一起运行的汇编语言的基本 hello world 示例吗?

任何帮助表示赞赏

0 投票
1 回答
989 浏览

c - Tiny C 编译器链接我的程序集目标文件

是否可以在 tcc 中链接使用 nasm 生成的 *.o 文件?

使用 gcc 对我来说效果很好:

当我使用 tcc 尝试相同的过程时,出现以下错误:fastmath.o:1: error: unrecognized file

我是否忘记了编译选项中的某些内容?

0 投票
2 回答
937 浏览

c - 有没有办法编译 Windows GUI,即 tcc 中的无控制台 exe?

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

0 投票
1 回答
698 浏览

c - TCC -c 选项错误

我正在尝试使用 TCC 将.c文件转换为.s文件,但是出现错误:tcc: cannot specify multiple files with -c

我该怎么办?

0 投票
1 回答
162 浏览

netbeans - 在 Netbeans 上添加编译器

我尝试将 Netbeans IDE 用于 C/C++。

启动时,我注意到它接受的唯一编译器链是:MingGw、Cygwin 和 Clang。我的编译器是最新版本的 TCC for win64。

我可以为 netbeans 定义自己的编译器链吗?

0 投票
1 回答
206 浏览

c - Windows/TCC/C读取二进制文件指针随机跳转

我为此进行了广泛的谷歌搜索,现在已经卡住了 4 个小时,我希望有人可以帮助我。

我有一个简单的程序来读取大约 2.7 MB 的二进制文件。该程序是在 Windows 上使用 tcc 编译器编译的。我在各种高级语言(Pascal、Modula2、Matlab、PHP、Basic)方面经验丰富,但对 C 来说是新手,我怀疑这与内存分配和变量被覆盖有关。

在上面的示例中,我从文件中的位置 1002 读取 - 这工作正常 - 结果是:

一切都按预期工作 - 文件指针每读取一个字节就前进 1 个字符。

问题在于起始位置的某些值,例如

start_loc = 16000

在这种情况下,在命令 egie 读取 1 个字节后,文件指针以看似随机的方式跳跃,并且文件指针移动到 19586。

感谢您阅读到这里!

0 投票
1 回答
791 浏览

compiler-construction - TCC 问题:未找到 libtcc1.a

我想用 TCC 找点乐子,但接缝有问题:

符号链接也不是一种选择。它似乎是一个常见的 TCC 问题,但解决方案总是看起来像一些自定义 hack。有任何想法吗?

我正在使用 Fedora 20

0 投票
0 回答
390 浏览

c++ - x64 浮点函数的调用约定不匹配

我有一个奇怪的错误。我有一个由一个编译器(在本例中为 msvc)编译的模块,它调用从另一个由单独的编译器(TCC)编译的模块加载的代码。

tcc 代码提供了一个回调函数,两个模块的定义如下:

MSVC 代码调用代码如下:

TCC编译出来的函数是这样的:

似乎 TCC 期望整数寄存器 r6 到 r8 中的参数,而 msvc 将它们放在 sse 寄存器中。我认为 x64(在 Windows 上)定义了一种常见的调用约定?这里到底发生了什么,我如何在两个平台上执行相同的模型?

相同的代码在 32 位模式下也能正常工作。奇怪的是,在 OSX(其他代码由 llvm 编译)上,它可以在两种模式(32 位和 64 位)下工作。稍后我会看看我是否可以从那里获取一些组件。

- - 编辑 - -

我创建了一个可行的解决方案。然而,毫无疑问,这是我做过的最肮脏的 hack(禁止有问题的内联汇编,不幸的是它在 msvc 64 位上不可用:))。

0 投票
1 回答
172 浏览

c++ - 更小的 GCC 包,只需要 C

如果您需要编译的唯一语言是 C,是否有较小的 GCC 下载?TCC 是 Windows 的绝佳选择,但我需要它在多个平台上编译。我也喜欢 GCC 非常常用的事实。

如果没有更小的特定下载,我是否能够清除下载的包中编译 C 不需要的数据?这种方法会有问题吗?