问题标签 [pelles-c]

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 投票
3 回答
5831 浏览

c - 在 pelles c windows.h 中无法编译

我正在使用pelles c。当我编译这段代码时:

我收到此错误:

谢谢你的帮助。

0 投票
3 回答
314 浏览

c - pelles c的奇怪输出

输出 :

0.000000

怎么会这样!

我在win 7上使用pelles c ide。

0 投票
2 回答
389 浏览

c - 代码可以停止使用编译器优化

我正在使用 PellesC C 编译器。有时我的代码会随机停止工作。一个特定的语句可以触发它。例如,我将一个变量乘以 sin(c)(c 是一个双精度数),我的代码似乎刚刚完成执行而没有结果。有时它会冻结,有时它似乎只是返回,但我总是可以通过删除有问题的语句或禁用编译器优化来修复它,特别是“最大化速度”或“最大化速度更多”。如果我在崩溃点附近的某个地方添加一个 printf 语句,冻结也会在几乎 100% 的情况下消失。我从来没有发现任何暗示我访问内存不正确的东西,我很确定这是一个编译器问题。我想知道是否有人可以对此有所了解。有没有可能我是,事实上,做错了什么?或者这是 Pelles C 编译器的一个已知问题?

编辑:

改变

to(最后一行末尾的差异)

让它工作。

0 投票
1 回答
2783 浏览

c - 为什么调用 glBindBuffer 时在 atio6axx.dll 中出现访问冲突?

导致问题:

通过制作我自己设计的(可能很简单)基于图块的游戏来学习使用 C 的 OpenGL。最初我只绘制了大约 10 个左右的三角形进行测试,我设置了缓冲区数据和索引,如下所示:

因为我需要更多的三角形来制作更多的三角形,所以我决定自动化它(而且,这些值以像素为单位,而不是屏幕/视口坐标,因为我打算在我的着色器中使用一些矩阵):

请注意,我没有自动化索引,因为我想确保我可以从这些新数据中获得完全相同的三角形。

问题:

我在某些GL 调用中反复遇到访问冲突。如果我在断点之间手动步进,它总是在到达glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, positionBufferObject);.

如果我在这一行上有一个断点,在这一行之后GLuint fShader = glCreateShader(GL_FRAGMENT_SHADER);有一个断点,它会跳过(忽略?静默失败?)中间的行并在到达调用内部时中断myProgram = CreateProgram();(这令人惊讶,因为我的顶点着色器是在之前创建的,带有相同的呼叫并且工作正常)。

所有 glGetError() 的返回 0,规范说这意味着:没有问题或 glGetError 有自己的错误。

不管它在哪里中断,调用堆栈 pelles C 在它中断时向我显示的是 'atio6axx.dll; DrvPresentBuffers() +163B7B' 它总是在这里:

我的 raaaaaaaage 的来源

我最近为我的 Radeon HD 6850 安装了最新的 Catalyst 更新。我找不到关于 GPU/顶点缓冲区对象/等的内存限制的任何信息,而且我怀疑大约 25KB 的数据会破坏任何东西。我觉得这不是 OpenGL 问题,而是我实现代码的方式或我不熟悉的限制/内存问题。

此站点上的海报#20也有类似的问题,但它似乎与程序故障有关,而不是代码(我认为它发生在最新驱动程序出现之前,即使它是在 10 月 11 日发布的)。GetBitmap()使用 glBindTexture 和其他调用没有问题。

似乎是最明显的,但我从旧算法到新算法的唯一变化是数据创建的自动化。不涉及任何指针,我什至将其转换为 a const float *,编译器甚至没有警告我这是必要的。

我是否在错误的地方寻找一个简单问题的解决方案?如果需要,我会尝试解释我的代码/添加更多代码,请问。我真的不想手动写出 ~6400 或更多的值。

编辑#1:经过一些其他测试后,即使使用旧实现,似乎也会出现此错误。我一定有一段时间没有编译它(一直在处理着色器,它们是单独的文件)。我困惑。

编辑#2:更多代码。这是在 InitGL 之前发生的唯一函数,也是调用 InitGl 的函数。:

FnLdInit 是我连接所有扩展的地方:

这是 GetBitmap():

编辑#3:未安装的 Catalyst 12.10 和所有相关驱动程序。重新安装12.8。同样的问题,但现在它发生在 GenBuffers 上。奇怪的。

编辑#4:我尝试将我的项目制作为 32 位,并对其进行编译。我遇到了完全相同的问题,尽管出于某种原因,Pelles C 没有标记 LIB(它只是在提到一个时说“无标题”)所以我只能假设 AMD 提供的 32 位库也失败了(作为 atio6axx.dll/. lib 未加载)。我觉得这个问题不会有任何真正的解决方案,因为它似乎源于驱动程序,而不是我的代码。在搜索并看到类似这样的相关问题之后,似乎并没有真正的客户端解决方案。

编辑#5:另一个我之前没有注意到的问题,因为程序在这一点上从来没有给我访问冲突,是代码将到达glActiveTexture(GL_TEXTURE0);并突然跳过后面的所有行并退出函数。通过删除此行,将执行下一行。glActiveTexture(GL_TEXTURE0);is fromatio6axx.dll而所有其他命令都是 from OPENGL32.dll,所以它似乎已经缩小了范围。奇怪的是此时没有访问冲突,只是奇怪的跳过。

我想没有人能看到发生这种情况的原因吗?我什至安装了beta Catalyst 驱动程序,它的 atio6axx.dll 版本的日期为 15\11\2012(上个星期四)。因此,最新的驱动程序不是问题。我什至尝试了自 Catalyst 12.4 以来的每个驱动程序版本(当前是 12.10,这个程序运行 12.8)。不知所措,甚至一个新程序也遇到了同样的问题。

0 投票
3 回答
1029 浏览

c - C 和 Windows Vista 中的 Dos.h + Pc.h

我目前正在寻找与 Mesa3D 一起使用 OpenGL 创建软件渲染图形应用程序。

我现在正在寻找一些关于如何使用它的教程,其中许多都是用 DOS 或旧版本的 Windows 编写的。当我运行 Vista 时,我似乎没有我需要的正确文件。

我正在使用的 Mesa3D 教程outportb()和其他一些我似乎无法正常工作的命令。环顾四周后,我发现您需要 2 个包含文件:

  • DOS.h
  • 个人计算机

这些似乎在 Visual Studio 2010 (Express) 附带的 Window SDK 中找不到,甚至在我目前拥有的 2005 (Professional) 的旧版本中也找不到。

它们似乎可以在DJGPP编译器中找到,该编译器仅在 DOS 下工作,在 Vista 中不受支持,即使在兼容模式下也是如此。运行 DosBox 仍然无法使其正常工作。

我想知道 - 是否可能有新功能替换outportb或者我可以将这些 DJGPP 文件与我的 C/C++ 编译器与 VS 或 PellesC 一起使用(我发现它更适合纯 C 程序)?

此外,我在 VS 和 PellesC 中拥有的conio.h包含文件没有该textmode()功能,但 DJGPP 版本有。

如果有人可以帮助让 DJGPP 在 Vista 上工作或允许我使用 VS 或 PellesC 的 DJGPP 中的 dos、pc 和 conio.h 文件,那将是一个很大的帮助!

0 投票
1 回答
383 浏览

c - PellesC 是否严格符合标准 C99?

我在http://en.wikipedia.org/wiki/C99中发现Pelles C 完全支持 C99。
不过我有疑问。

您可能知道,GCC 项目还没有完全支持 C99。GCC 是否符合的细节都有很好的记录。但是,我无法理解 Pelles C 完全符合的确切含义。

它是否符合每台计算机和操作系统?

例如,如果硬件完全兼容,则 GCC(在命令行选项 -std=c99 下)与 ISO/IEC IEEE 60559(浮点标准)兼容。
http://gcc.gnu.org/c99status.html

Pelles C 是否关心这个级别的细节?我不确定 Pelles C 是否符合 C99 的说法。

0 投票
1 回答
4508 浏览

c - POLINK:错误:未解析的外部符号。佩莱斯 C

我是编程新手。我正在使用 Pelles C ide 编译 C,它昨天还在工作,但现在出现了这个错误。

在此处输入图像描述

这是该项目的代码:

}

这个错误的原因是什么?

还有这个,不记得以前有这个了 在此处输入图像描述

0 投票
1 回答
1197 浏览

c - Pelles C 和 GCC 通过这个 C 素性测试给出不同的结果

我用这个编译器编译这段代码。对于数字,我写 18446744073709551615 (2^64-1)。Pelles 的可执行文件说“18446744073709551615 是素数”,但 GCC 的可执行文件说“18446744073709551615 不是素数”。为什么结果不一样?

编辑:

我已经测试过,gcc 给出 12,pelles c 给出 8 的 sizeof(long double)。

0 投票
1 回答
110 浏览

c - C语言等价于./folder?

我正在 Pelles C 中处理一个 C 项目,我希望在我的项目文件夹的子目录中打开 csv 文件。现在我有我的文件的绝对路径,如下所示:

这没问题。但是当我移动我的项目文件夹(比如从我的 F:/ USB 驱动器到我的 C:/ 硬盘驱动器)时,我希望让我的代码适应。我想知道是否有一种方法可以在每次移动项目文件夹时都不必更改绝对文件路径。

基本上我想知道如何像在linux(“./datafolder”)中那样说“currentdirectory/datafolder”。类似于以下几行的内容,我已经测试过但不起作用:

或者

想法?

0 投票
1 回答
53 浏览

c - 如何在 Pelle C IDE 中删除或隐藏组件

我想从我的窗口中删除或隐藏一些组件(按钮、组合框等)。我怎样才能做到这一点?