问题标签 [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 投票
1 回答
6688 浏览

c - 在 Windows 上使用 Tiny C 编译器编译和运行 file.c

我可以逐步了解如何使用 Tiny C 编译器和 Windows 提示符编译我的 file.c 吗?

我已经有一些问题:

  1. 我在哪里粘贴下载中的所有 TCC 文件?
  2. 我是否必须编译 stdio.h 才能使用 printf 函数?(我想做一个'Hello World')。

这就是我的 file.c 的样子:

谢谢,


编辑 1

到目前为止,我正在运行它并收到错误:找不到包含文件'stdio.h'。

0 投票
3 回答
1243 浏览

c - Gcc编译器C字符串赋值问题

我写了这段代码,因为我在我正在编写的一个更大的程序中遇到了类似的问题。据我所知,问题是一样的,所以我做了这个小例子。

当使用 tcc (Tiny C Compiler) 编译时,它编译并执行得很好。但是使用 GCC 4.6.0 20110513(预发布)它可以编译,但是,当我执行它时,我只能通过“初始化工作”。在出现段错误之前。

我究竟做错了什么?是我的代码还是我的 GCC 编译器?

0 投票
1 回答
1235 浏览

c - TCC 和 winsock.h

我已经读过Tiny C Compiler (TCC) 和 winsock?,但我仍然无法使用 TCC 编译套接字,因为当我尝试

tiny_impdef 回应:

那么如何才能正确编译使用套接字的程序呢?任何帮助将不胜感激

0 投票
1 回答
197 浏览

macos - 在 OSX 下使用 TCC 运行 ex1?

我正在OS X 下尝试TCC 。我必须按照这个答案进行一些修改才能使其编译。

尝试运行我得到的源代码中包含的 ex1.c:

在该 resource.h 文件行中有:

所以我猜想这与 __DARWIN_ALIAS 有关,但是在 ex1.c 文件中包含 tcclib.h 之前的简单 #define 不起作用。任何解决方法?

0 投票
3 回答
2951 浏览

c - OpenGL + Tiny C 编译器:“,预期”

我正在开发一个程序,并且正在使用带有 SDL 和 OpenGL 的 Tiny C 编译器。TCC 不包含 opengl 的标头,因此我尝试从 Visual C++ 和 MinGW 复制它们。它们都无法编译并出现以下错误:

v:/exe/tcc/include//GL/gl.h:1081: ',' expected

两个文件中的第 1081 行是:

GLAPI 扩展:

APIENTRY 的扩展:

我设置的唯一编译器标志是 -b、-g、-Wall 和一些包含目录。

我能得到一些帮助吗?如果需要,我很乐意提供更多信息。

0 投票
1 回答
2813 浏览

c - Tiny C编译器:定义main时未定义符号“main”?

我有一个主要功能,但是当 tcc 将所有内容链接在一起时,它说它未定义。为什么是这样?

我正在使用 python 构建脚本,参数作为列表传递:

输出很简单:

我的 main 函数在文件 main.c 中定义(并且没有标题),其中包含几个静态函数。主功能:

编辑:我通过 tcc 运行代码,只进行预处理。显然,主要功能正在通过 SDL 中的一些宏重命名为 SDL_main。

0 投票
1 回答
371 浏览

c - C 中的 Long Long、小数和输入验证

目前我正在使用 TCC,因为它是在 Windows 上进行设置的最简单的方法。只需解压缩,您就可以开始使用了。但是我对其他编译器、GCC、微软提供的任何东西等都是开放的。

我的问题是我需要验证大小为 16 的整数数组的输入。这是我的规则:

考虑到我使用的是 C,最后一点让我很害怕,我稍后会回来。现在我只是试图处理前 4 个条件。

我遇到的问题是尝试测试外部边界会导致整数溢出并搞砸我的检查。因此,我制作了一个临时的 long long 数组来保存输入以进行验证。成功验证所有内容后,它应该适合整数数组,因此我将(以某种方式)将 long long 从临时数组复制到实际数组并正常启动程序。

我已经搞砸了很长的时间并试图做我想做的事情,但是我的代码很快变得混乱,一切都如此模糊,并且在 C 中依赖于机器,所以当出现问题时,我不知道是我还是我的糟糕的编码,或者我的机器与其他人不同的事实导致了错误。我会坚持下去,因为我知道可以调查和解决这种事情,但是我不想在这上面浪费太多时间,所以我会问一下,看看是否有捷径。

十进制验证部分我对如何处理有各种想法,但我不抱希望。你怎么看?

任何想知道我为什么这样做的人:没关系,我可以很容易地解决需要这个数组的更高级别的问题,并且它适用于所有有效的输入。但是我现在只是迂腐,因此提出了这个问题。

0 投票
1 回答
689 浏览

linker - 如何使用 TinyCC 自动链接符号?

在我的 C 程序中使用 TinyCC 让我可以将 C 用作一种脚本语言,即时重新加载 C 文件,并做很多相当简洁的事情......但是,有一件事真的让我很困扰。链接。

我用 TCC_OUTPUT_MEMORY 做我的普通 tcc_new 和 tcc_set_output_type,但如果我不包括很多这些:

一切都非常有限。

我想要一种在主机程序中自动引入所有符号的方法。我不想手动链接 libc 和 libm 中的每个最后一个函数。存在哪些机制来促进自动链接或添加符号。如何在我的代码中使用 libm 而无需手动放入每个最后一个组件。

我目前正在使用 GCC,但在另一个平台上使用 Visual Studio 来编译我的程序。我可以完全切换到 TCC。

0 投票
1 回答
134 浏览

batch-file - 我如何通过 TCC 获取 code.c 的运行时

我创建了一个 Web 应用程序来编译和运行代码。如何检查用户是否进入无限循环。我想在运行时检查代码是否运行超过 20 秒,然后中止计算。

0 投票
3 回答
636 浏览

c - 将令牌从数组传递到 strcmp

我想要做的是用空格作为分隔符来分解用户输入,将这些部分复制到数组(tokenAr)中并比较tokenAr[0](第一部分)是否等于sHistory。如果相等,则检查tokenAr[1]是否为“1”、“2”等的值,以执行输入到history数组中的相应命令。这是我尝试过的,但它崩溃了。我在 Windows x64 上使用 TCC。编辑:我忘了提到我两天前才开始学习 C。

EDIT2:我在调试器中运行程序,它已经提出了一个Acces Violation(Segmentation Fault)在线if(strcmp(tokenArPtr[0],sHistory)==0)

编辑 3:我使用result变量而不是tokenArPtr直接使用变量,但是在调试时,我注意到数组的值没有被更新。