问题标签 [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.
c - C 链接错误(使用 tcc)
我正在尝试从名为 .libtcc_test.c
我已经libtcc.h
从libtcc
intoinclude
和libtcc.def
into复制了lib
。
然后我跑了tcc ./examples/libtcc_test.c
,得到一个链接错误:/
我错过了什么?
更多信息:
c - tcc 中的空指针检测
我创建了一个非常简单的链表,并注意到我的代码的tcc filename.c
vs输出有所不同:tcc filename.c -run
对于编译tcc filename.c
然后运行它会产生我期望的输出:
这也是我在 GCC 和 clang 中得到的输出。
当我使用时,tcc filename.c -run
我得到:
最后一个数字始终为零,而其他两个额外的值每次运行时都不同。
我想出了l1 -> next = NULL;
在newList
函数和函数l2 -> next = NULL;
中添加的解决方案appendList
。
但我想知道为什么输出会有所不同。编译器中是否存在错误,或者NULL
即使它在大多数编译器中都有效,但我没有初始化指针是错误的?
c - tcc:在汇编代码中使用 C 标准函数
我有NASM创建的简单程序集文件。我想将它们与tcc
. 对于调试,我想printf()
在我的汇编代码中使用。但是当我这样做时,tcc
失败了tcc: undefined symbol 'printf'
。
这是重现错误的最小示例代码:
安慰:
当我使用gcc hello.o
一切正常时,它必须是一个 tcc 特定的问题。我如何让它与 tcc 一起工作?
编辑:我正在使用NASM和TCC的 Windows 版本来生成 32 位 Windows 可执行文件。
tcc - 在 Tiny C 下获取回溯
标准backtrace
函数在 Tiny C 下不起作用,(它只返回一个地址)。如何在 Tiny C 编译程序中获取当前堆栈跟踪?
更新:
我尝试了在 git hub 上找到的这样的手动堆栈遍历,它再次仅适用于 GCC,但不适用于 Tiny:
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
如何修复找不到包含文件的错误?!
c - 定义函数时出现 C 错误“太多基本类型”
我正在尝试创建一棵二叉树。我正在尝试编写一个将新节点插入树的函数。它有两个参数:父节点和新节点。
当我用 TCC 编译时,我得到了错误:error: too many basic types
c - 基本 C SDL2 程序无法与 TCC 一起使用,但它可以与 GCC (Linux) 一起使用
我有以下 C 代码(为了清楚起见,我知道它不是完整的代码,它应该处理事件和类似的东西):
如果我用 GCC 编译它(没有 shebang 行),并启动可执行文件,它工作正常,但我喜欢 TCC 的编译和运行功能的简单性及其速度。
但是,编译后的可执行文件给了我以下控制台输出,然后永远挂起,甚至不能用 CTRL-C 杀死:
我按照这里的建议添加了 SDL_MAIN_HANDLED但这并没有改变任何东西。
任何人?
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]
导致相同的错误。我编译错了,是编译器错误还是其他什么?
c - Tiny C 编译器生成的代码发出额外的(不必要的?)NOP 和 JMP
有人可以解释为什么这段代码:
当使用tcc code.c用 tcc 编译时,会产生这个 asm:
我猜是
可能有一些内存对齐,但是呢?
我的意思是为什么编译器会插入这个跳转到下一条指令的近跳转,LEAVE 无论如何都会执行?
我在使用 TCC 0.9.26 生成 32 位可执行文件的 64 位 Windows 上。
c - 解决 macOS 上的 TCC 警告
我正在寻找一个 C 解释器来使用,同时制作一个简单的 C 实用程序以避免一直编译。我按照此处的建议安装了 TCC,但收到警告和错误。如何正确运行 TCC?
稍后设置__GNUC__
会导致错误:
我的环境:
如果 TCC 不适合 macOS,请推荐一个运行良好的 C 解释器。