小编Tri*_*g3l的帖子

有没有人有一个有效的B编译器?

有谁知道我可以在哪里得到一个好的B编译器?我已经搜索了一段时间的B编译器,但是在查找Windows或Linux系统的任何完整内容时遇到了一些困难.

这是B的一个例子:

main( ) {
auto a, b, c, sum;
a = 1; b = 2; c = 3;
sum = a+b+c;
putnumb(sum);
}
Run Code Online (Sandbox Code Playgroud)

compiler-construction b-lang

24
推荐指数
2
解决办法
4557
查看次数

NEON内部类型在C中工作但在C++中抛出无效参数错误

我在Android NDK中使用NEON内在函数和内联汇编时遇到问题.

float32x4_t在使用GCC 4.6和4.8编译C++代码时,NEON类型会产生"无效参数"错误,但是,如果编译为C,则代码编译正常.

例如,这里有一些代码:

inline float32x4_t VectorAdd(float32x4_t a, float32x4_t b)
{
  return vaddq_f32(a, b);
}
Run Code Online (Sandbox Code Playgroud)

我在这里得到两个错误:

  • 在函数本身:Invalid arguments ' Candidates are: ? vaddq_f32(?, ?) '.
  • 调用函数的地方:Invalid arguments ' Candidates are: ? VectorAdd(?, ?) '.

所有NEON类型都显示为?在错误消息中,正确显示非NEON类型.

同样奇怪的是,只使用NEON类型作为返回值的函数(例如,vld1q_f32我的抽象包装器)不会受到错误的影响.

我在GCC Explorer 4.6和4.5中尝试了相同的代码,并且没有错误,并且生成了正确和优化的程序集,但是,它不适用于Android NDK.

c++ android intrinsics neon android-ndk

8
推荐指数
1
解决办法
620
查看次数

使用C中的C++受损函数

我有一个.lib文件,我没有源代码.

我需要一个导出的函数,但是我用C编写,函数是C++名称错误的.我不能写extern "C",因为我没有源代码.

如何在没有源代码和切换到C++的情况下链接损坏的函数?

c c++ name-mangling

5
推荐指数
2
解决办法
1112
查看次数

SDL与SFML在可移植性最重要时使用C?

我一直在阅读有关SDL和SFML的大量内容,毫无疑问已经错过了一些信息或者我不理解它.这是我收集的内容:

  • SDL目前是标准(最受欢迎)
  • SDL使用C和软件渲染(这很慢?)
  • SDL嵌入一切?
  • SFML正变得越来越流行
  • SFML使用C++(但具有C绑定)并利用硬件加速渲染(快速)
  • SFML不会嵌入一切?

我必须使用C和OpenGL来做我想做的事情.我还需要确保程序尽可能便携.但它不能慢.

我该怎么办?

c opengl sdl cross-platform sfml

4
推荐指数
2
解决办法
4398
查看次数

errno在不同系统上的位置

我对我应该在程序中使用errno()的实现感到困惑.

据我所知,标准的errno()在errno.h中定义.但是,Visual Studio在stdlib.h中也有errno().也许这是不正确的,但对我来说stdlib.h的errno()比errno.h更快.但是errno()也在stddef.h中定义.

我应该使用哪一个?#ifdef _WIN32 #include <stdlib.h> #else #include <errno.h> #endif

c c++ std errno

2
推荐指数
1
解决办法
788
查看次数

V***和F***浮点ARM指令有什么区别?

ARM VFP指令与V和F一起开始有什么区别?

为什么ARM信息中心不再列出汇编参考中的F指令?

他们中的大多数直接映射到彼此(例如,vcvtr.s32.f32ftosis),那么为什么它们都存在?

例如,这些函数执行相同的操作(floor float-> int conversion):

vmrs %r1, fpscr
bic %r0, %r1, #0xc00000
orr %r0, %r0, #0x800000
vmsr fpscr, %r0
vcvtr.s32.f32 %s2, %s2
vmov %r0, %s2
vmsr fpscr, %r1

mrs %r1, fpscr
bic %r0, %r1, #0xc00000
orr %r0, %r0, #0x800000
msr fpscr, %r0
ftosis %s2, %s2
fmrs %r0, %s2
msr fpscr, %r1
Run Code Online (Sandbox Code Playgroud)

floating-point assembly arm fpu cpu-registers

2
推荐指数
1
解决办法
448
查看次数

写入控制台没有延迟

我正在编写一个命令行游戏,应该在4-40 FPS下工作(稍后会选择).但是,我有一个问题.使用putchar()绘制由1920个彩色字符组成的"图像"需要0.2-0.3秒,我可以看到我的图像逐行绘制.但是,例如,在Firefox中,我几乎可以在不到十分之一秒的时间内在画布上绘制64000个RGB像素.

有没有办法避免这种延迟,是控制台强制延迟,还是处理输出需要多长时间?

c console stdout

1
推荐指数
1
解决办法
252
查看次数

更改Win32窗口的像素

我知道,这可能是常识,但有编辑从Windows窗口的像素的RGB值的方法C/ C++不使用库,例如OpenGLDirectX?如果有,有什么内置函数可以直接操作像素缓冲区?

c windows pixel bitmap

1
推荐指数
1
解决办法
255
查看次数