有谁知道我可以在哪里得到一个好的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) 我在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.
我有一个.lib文件,我没有源代码.
我需要一个导出的函数,但是我用C编写,函数是C++名称错误的.我不能写extern "C",因为我没有源代码.
如何在没有源代码和切换到C++的情况下链接损坏的函数?
我一直在阅读有关SDL和SFML的大量内容,毫无疑问已经错过了一些信息或者我不理解它.这是我收集的内容:
我必须使用C和OpenGL来做我想做的事情.我还需要确保程序尽可能便携.但它不能慢.
我该怎么办?
我对我应该在程序中使用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?
ARM VFP指令与V和F一起开始有什么区别?
为什么ARM信息中心不再列出汇编参考中的F指令?
他们中的大多数直接映射到彼此(例如,vcvtr.s32.f32和ftosis),那么为什么它们都存在?
例如,这些函数执行相同的操作(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) 我正在编写一个命令行游戏,应该在4-40 FPS下工作(稍后会选择).但是,我有一个问题.使用putchar()绘制由1920个彩色字符组成的"图像"需要0.2-0.3秒,我可以看到我的图像逐行绘制.但是,例如,在Firefox中,我几乎可以在不到十分之一秒的时间内在画布上绘制64000个RGB像素.
有没有办法避免这种延迟,是控制台强制延迟,还是处理输出需要多长时间?
我知道,这可能是常识,但有编辑从Windows窗口的像素的RGB值的方法C/ C++不使用库,例如OpenGL或DirectX?如果有,有什么内置函数可以直接操作像素缓冲区?