问题标签 [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 回答
3745 浏览

c - C 链接错误(使用 tcc)

我正在尝试名为 .libtcc_test.c

我已经libtcc.hlibtccintoincludelibtcc.definto复制了lib
然后我跑了tcc ./examples/libtcc_test.c,得到一个链接错误:/

我错过了什么?


更多信息:

0 投票
3 回答
116 浏览

c - tcc 中的空指针检测

我创建了一个非常简单的链表,并注意到我的代码的tcc filename.cvs输出有所不同:tcc filename.c -run

对于编译tcc filename.c然后运行它会产生我期望的输出:

这也是我在 GCC 和 clang 中得到的输出。

当我使用时,tcc filename.c -run我得到:

最后一个数字始终为零,而其他两个额外的值每次运行时都不同。

我想出了l1 -> next = NULL;newList函数和函数l2 -> next = NULL;中添加的解决方案appendList

但我想知道为什么输出会有所不同。编译器中是否存在错误,或者NULL即使它在大多数编译器中都有效,但我没有初始化指针是错误的?

0 投票
1 回答
796 浏览

c - tcc:在汇编代码中使用 C 标准函数

我有NASM创建的简单程序集文件。我想将它们与tcc. 对于调试,我想printf()在我的汇编代码中使用。但是当我这样做时,tcc失败了tcc: undefined symbol 'printf'

这是重现错误的最小示例代码:

安慰:

当我使用gcc hello.o一切正常时,它必须是一个 tcc 特定的问题。我如何让它与 tcc 一起工作?

编辑:我正在使用NASMTCC的 Windows 版本来生成 32 位 Windows 可执行文件。

0 投票
1 回答
215 浏览

tcc - 在 Tiny C 下获取回溯

标准backtrace函数在 Tiny C 下不起作用,(它只返回一个地址)。如何在 Tiny C 编译程序中获取当前堆栈跟踪?

更新:

我尝试了在 git hub 上找到的这样的手动堆栈遍历,它再次仅适用于 GCC,但不适用于 Tiny:

0 投票
1 回答
1370 浏览

c - 如何修复从源代码构建 TinyCCompiler(TCC) 中 crt1.o、crti.o 错误的错误?

如何从源代码构建 TinyCCompiler(TCC) 中修复 crt1.o、crti.o 的错误?

https://github.com/LuaDist/tcc

我在我的桌面系统(ubuntu)上测试这个,也在服务器(centos)上测试。在两个操作系统上,显示错误。

错误 :

细节 :

guest@Base:~/Gits/tcc-compiler$ ./configure --prefix=build

guest@Base:~/Gits/tcc-compiler$ sudo make

guest@Base:~/Gits/tcc-compiler$ sudo make install

guest@Base:~/Gits/tcc-compiler$ cat test2.c

错误 :

guest@Base:~/Gits/tcc-compiler$ build/bin/tcc test2.c

$ 查找 /usr/ -name crti*

$ 查找 /usr/ -name crt1*

(完整的命令可在https://pastebin.ubuntu.com/26211506/获得)

如何修复错误?


我可以使用sudo apt install tcc.( 没有错误和错误)安装 tcc

但我想从源代码安装 tcc。(这有错误)


新更新

在 tcc.h 文件中:

/usr/lib改成/usr/lib/x86_64-linux-gnu

$ build/bin/tcc test.c -运行

$ /build/bin/tcc test.c


新更新

guest@Base:~/Gits/tcc-try/_build/_install/bin$ ./tcc test.c

如何修复找不到包含文件的错误?!

相关问题:如何修复 TinyCCompiler(TCC) 中包含文件的错误错误?

0 投票
1 回答
785 浏览

c - 定义函数时出现 C 错误“太多基本类型”

我正在尝试创建一棵二叉树。我正在尝试编写一个将新节点插入树的函数。它有两个参数:父节点和新节点。

当我用 TCC 编译时,我得到了错误:error: too many basic types

0 投票
1 回答
954 浏览

c - 基本 C SDL2 程序无法与 TCC 一起使用,但它可以与 GCC (Linux) 一起使用

我有以下 C 代码(为了清楚起见,我知道它不是完整的代码,它应该处理事件和类似的东西):

如果我用 GCC 编译它(没有 shebang 行),并启动可执行文件,它工作正常,但我喜欢 TCC 的编译和运行功能的简单性及其速度。

但是,编译后的可执行文件给了我以下控制台输出,然后永远挂起,甚至不能用 CTRL-C 杀死:

我按照这里的建议添加了 SDL_MAIN_HANDLED但这并没有改变任何东西。

任何人?

0 投票
1 回答
297 浏览

c - 当我包含 -pthreads 标志时,为什么 tcc 无法识别“main”?

我正在尝试使用带有 tcc 的 gtk 3.0 库编译 ac 应用程序。文档说运行编译的命令是

gcc `pkg-config --cflags gtk+-3.0` -o [executable name] [source file] `pkg-config --libs gtk+-3.0`

我正在尝试使用 tcc 进行编译,据我所知,语法应该是相同的。但是,在 gcc 编译得很好的地方,当我使用 tcc 时,编译失败并出现错误:

tcc: error: undefined symbol 'main'

我将问题隔离到由pkg-config --cflags gtk+-3.0因此插入的 -pthread 标志,运行一个简单的“Hello, World”c 程序并编译

tcc -pthread -o [executable name] [source file]

导致相同的错误。我编译错了,是编译器错误还是其他什么?

0 投票
2 回答
1075 浏览

c - Tiny C 编译器生成的代码发出额外的(不必要的?)NOP 和 JMP

有人可以解释为什么这段代码:

当使用tcc code.c用 tcc 编译时,会产生这个 asm:

我猜是

可能有一些内存对齐,但是呢?

我的意思是为什么编译器会插入这个跳转到下一条指令的近跳转,LEAVE 无论如何都会执行?

我在使用 TCC 0.9.26 生成 32 位可执行文件的 64 位 Windows 上。

0 投票
3 回答
554 浏览

c - 解决 macOS 上的 TCC 警告

我正在寻找一个 C 解释器来使用,同时制作一个简单的 C 实用程序以避免一直编译。我按照此处的建议安装了 TCC,但收到警告和错误。如何正确运行 TCC?

稍后设置__GNUC__会导致错误:

我的环境:

如果 TCC 不适合 macOS,请推荐一个运行良好的 C 解释器。