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

tcc - Taleo 企业版 - 招聘状态历史

无论是使用 TCC 还是通过 API,我都想获得以下候选人和工作组合的详细信息:

  • 到目前为止候选人经历的招聘状态列表是什么(步骤,状态)
  • 还有每个此类步骤的更新日期时间,状态

这将为我提供步骤、状态及其更新的日期时间的踪迹。我的动机是,我想知道我们在招聘候选人时每一步采取了多少。

有人可以帮忙吗?

0 投票
0 回答
289 浏览

c - 如何修复“tcc: library not found”错误?

我正在学习 CS50,因为我现在使用的是 linux,所以我希望我可以在本地计算机上为 CS50 问题集进行编码,而不是在 cloud9 ide 上。所以我从这里克隆了 CS50 库并安装了它,但是当我尝试像这样用 tcc 编译我的代码时:

我收到此错误:

我怎样才能解决这个问题?

0 投票
0 回答
93 浏览

c - 如何使用 Tiny C 编译器链接原生 Windows 套接字库以编写 HTTP 应用程序

我仍处于学习的早期阶段,并开始从头开始编写一个简单的 HTTP 应用程序,但是到目前为止我使用 winsock 并不成功,无法使其工作。

编写HTTP应用程序的方法是什么,在Windows操作系统环境下使用winsock是编写HTTP应用程序的正确方法吗?

我试图合并 mingw 项目中的包含以使 winsock2 工作,我真的不喜欢合并来自第四方的东西的想法。

我想按预期直接使用 Windows 操作系统,而不是使用诸如 mingw 之类的非本地项目中的一些重量级预编译文件。

使用 Tiny C 编译器初始化 WinSock

通过运行 WinSock 的初始化我得到一个错误

初始化-winsock.c

0 投票
1 回答
164 浏览

c - TCC 是否允许创建静态库?

我一直在使用 Tiny C 编译器,并正在尝试创建一个静态库。我搜索了 TCC 文档,但没有找到任何关于创建静态库的信息。是否可以使用 TCC 创建静态库?

0 投票
2 回答
245 浏览

c - IOCCC 1986/wall.c - 为什么 TCC 在处理早期 C 代码方面胜过 GCC?

IOCCC 早期的另一颗明珠是Larry Wall 1986 年的条目:

http://www.ioccc.org/years.html#1986(墙)

我怀疑今天没有 C 编译器可以直接直接编译该源代码,因为它包含严重的预处理器滥用:

  • 最新TDM-GCC 9.2.0 设置为 ANSI 模式失败
  • 最后TCC 0.9.27失败

然而,在从混淆的原始代码(总是使用 GCC's cpp -traditional)中提取预处理代码之后,TCC 和 GCC 都设法编译它;然而,GCC 的努力白费了,因为程序在尝试开始解码其混淆的介绍文本时阻塞(对于那些想要深入研究的人来说,这里不会破坏它!)

另一方面,TCC 设法对 的隐式声明进行简要警告system()read()write()快速生成一个工作程序。

我尝试使用 GDB 逐步执行 GCC 代码,这就是我发现编译的 GCC 代码在for遍历文本字符串以对其进行解码的循环的第二遍时阻塞的方式:

[Inferior 1 (process 9460) exited with code 030000000005]

该进程 ID 无关紧要,因为它代表崩溃的调试构建可执行文件。但是,退出代码保持不变。

显然,TCC 比 GCC 更适合此类 IOCCC 条目。后者仍然能够成功编译甚至运行一些条目,但是对于像这样的棘手案例,TCC 很难被击败。它唯一的缺点是在预处理像这个例子这样极度滥用的代码时它不够用。它在某些预处理条目之间留下空格,因此无法将它们连接到作者预期的 C 关键字中,而 GCC 的cpp作品 100%。

我的问题是,听起来很哲学,甚至是修辞:

与 TCC 不同,现代 GCC 中是什么导致它无法编译或在编译早期的 C 程序时产生不可用的代码?

提前感谢所有反馈,我很感激!

注意:我使用的是带有 WSL 2 的 Windows 10 版本 2004;GCC 在 Windows 和 WSL 2 环境中都失败了。我也计划在 WSL 2 中编译 TCC,以便在该环境中进行比较。

PS:当它最终按预期执行时,我非常喜欢这个程序。毫无疑问,当之无愧当年的“最全能大奖”!

0 投票
1 回答
55 浏览

c - IOCCC 1988/isaak.c - 为什么即使在 ANSI 化之后也没有输出?

从 1988 年开始,这个 IOCCC 获奖作品中精心制作的、自包含的代码:

http://www.ioccc.org/years.html#1988_isaak

...当时对于某些系统来说仍然太多了。此外,ANSI C 终于成为混乱的 K&R 生态系统的稳定替代品。因此,IOCCC 评委也提供了这个条目的 ANSI 版本:

http://www.ioccc.org/1988/isaak.ansi.c

它的主要吸引力在于它<stdio.h>在最后一行 (!) 中包含经过深思熟虑的#defines,无论是在源代码内部还是在编译时,都只允许代码的某些部分进入正确的级别。这就是允许<stdio.h>头文件最终包含在可能的最新阶段的原因,就在需要之前,在提供给编译器的源代码中。

但是,在今天使用提供的编译器设置进行编译时,此版本仍然无法生成输出:

使用的版本:GCC 9.3.0、TCC 0.9.27

对编译后的二进制文件名没有任何明显的依赖,因此我将其留给编译器选择。即使使用-o isaakor -o isaak.ansi,也会发生相同的结果:没有输出。

这是什么原因造成的?输出功能如何失败?可以做些什么来纠正这个问题?

提前致谢!

注意:IOCCC 法官意识到该条目存在可移植性问题,会降低其混淆值,因此决定还包括代码输出的 UUENCODE 版本:

http://www.ioccc.org/1988/isaak.encode

0 投票
1 回答
67 浏览

c - IOCCC 1987/westley.c - GCC 的左值问题

来自 1987 年 IOCCC 的这条回文词条:

https://www.ioccc.org/years.html#1987_westley

...在默认编译期间导致 TCC 0.9.27 没有问题并按预期工作。

但是,GCC 9.3.0,即使在-std=c89模式下,也会抱怨以下实例(int) (tni)不是左值:

(美化代码以获得更好的上下文)

我目前的想法:

在这种=情况下,我怀疑使用 (int) (tni) 作为for循环中的条件会取消它作为左值的资格,但我不确定。

在这种++情况下,我稍后可以在该代码中看到其回文性质如何迫使作者--在 (int) 和 (tni) 之间使用运算符,这不被视为问题。所以 GCC 要求在++变量之前使用运算符,而不是在它的转换之前,但是用左值抱怨来暗示这个要求。

这些 GCC 投诉是否有明确的答案?TCC 是不是太松懈了?

提前致谢!

编辑:我很高兴地指出了一个类似的问题,它在这里回答了铸造问题 - 请参阅下面的我的评论以获取解决方案!

0 投票
2 回答
155 浏览

c - 在 C 代码中使用原始二进制指令块

我正在使用 TCC(Tiny C 编译器)进行 jit 编译,但它对汇编的支持有限,我经常被这个卡住......我想知道是否有某种技巧可以将原始指令插入内联部件?如:

我知道这不是一件容易维护的事情,但我想让 TCC 保持不变。

0 投票
1 回答
108 浏览

c - 使用带有 Sublime text 3 的 TCC 编译器会出现错误

我非常喜欢 Sublime,并希望直接从编辑器中执行我的程序。我已经用 gcc 完成了,但现在想使用 tcc。

我找不到 tcc 的构建系统,所以我使用了 C++ 构建系统。存在找不到我要执行的文件的问题。这是我的构建系统:

我更改g++tcc-o-run但它给出了一个找不到文件的错误。

在这里,Documents\C Projects/ 代替了 \. 那是问题吗?我如何解决它?

0 投票
1 回答
37 浏览

tcc - 如何在运行时使用 tcc 修改代码?

在大约 8:05 的这段视频中,演讲者解释说他正在使用 tcc,这允许他在代码已经运行时更改和编译代码,只要更改不是太大;我认为就潜在的崩溃而言,这不是一种非常安全的工作方式,但微调变量和其他类似的东西似乎很有用。我对这个潜在的功能很感兴趣,但我在网上其他任何地方都找不到它的参考资料(我试过用不同的关键字组合来查找它,但没有相关的结果)。我能做些什么?