小编gru*_*htr的帖子

将字节插入文件的中间(在windows文件系统中)而不读取整个文件(使用文件分配表)?

我需要一种方法将一些文件簇插入文件的中间以插入一些数据.

通常情况下,我只是读取整个文件并将其与更改一起再次写回来,但文件大小为几千兆字节,只需要30分钟读取文件并再次将其写回.

群集大小不会打扰我; 我基本上可以在插入的簇的末尾写出零,它仍然可以使用这种文件格式.

我如何使用Windows文件API(或其他一些机制)修改文件的文件分配表,在文件中间的指定点插入一个或多个未使用的集群?

c# windows filesystems winapi file

29
推荐指数
2
解决办法
2764
查看次数

如何从iPhone相机进行快速图像处理?

我正在尝试编写一个iPhone应用程序,它将进行一些实时的相机图像处理.我使用AVFoundation文档中提供的示例作为起点:设置捕获会话,从示例缓冲区数据创建UIImage,然后在一个点上绘制图像-setNeedsDisplay,我在主线程上调用.

这是有效的,但它相当慢(每帧50毫秒,在-drawRect:调用之间测量,对于192 x 144预设)我已经看到App Store上的应用程序比这更快.
我大约一半的时间都花在了-setNeedsDisplay.

如何加快图像处理速度?

iphone camera avfoundation ios

12
推荐指数
2
解决办法
2万
查看次数

memset可以在4个内核上并行化吗?

我不确定.我可以在四个内核上写一个大的memset(例如10 MB)来获得加速吗?

是否可以进行这种ram-chip并行化,以及触发其他线程的时间成本有多大 - 是否超过一毫秒或更短?

c memory windows winapi multithreading

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

多声道声音与winmm,许多WaveOutOpen?

我正在尝试以多通道(并行)方式在 Windows XP 上播放声音。我曾在某处读到可能无法使用 WinMM 播放并行声音,但这是我观察到的:

当我调用 WaveOutOpen() 一次,然后多次调用 WaveOutWrite() 时,声音就不是并行的——它们是排队的。

但是当我调用 WaveOutOpen 说九次(然后存储九个句柄)然后用九种不同的声音调用九次 WaveOutWrite() 时,它们是并行播放的(多通道)——也就是说它们是混合的。

它似乎有效,但我不确定它是否可以,因为我没有在任何教程或文档中明确说明它。

以这种“许多 WaveOutOpen”的方式播放声音可以吗??

windows audio winapi winmm

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

如何将ST(0)移动到EAX?

Hullo,我正在学习x86 FPU汇编,我有一个简单的问题,我找不到答案:

如何将值从ST(0)(FPU堆栈顶部)移动到EAX

还有:
这段代码是否正确:

; multiply (dot) two vectors of 3 floats passed by pointers as arg 1 arg 2
; passings are ok I think, but not sure if multiplies-adds are ok

    push    ebp                                     
    mov     ebp, esp                                
    mov     eax, dword [ebp+8H]                     
    mov     edx, dword [ebp+0CH]                    

    fld     qword [eax]                             
    fmul    qword [edx]                             
    fld     qword [eax+4H]                          
    fmul    qword [edx+4H]                          
    fld     qword [eax+8H]                          
    fmul    qword [edx+8H]                          
    faddp   st1, st(0)                              
    faddp   st1, st(0)                            
    fstp    qword [ebp+10H]     ; here …
Run Code Online (Sandbox Code Playgroud)

x86 assembly fpu x87

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

bcc32 - 没有控制台子系统,也没有Windows子系统

我使用旧的bcc32(borland 5.5)(我知道这是非常古老的编译器,但不要告诉我,我不应该使用它)

我可以使用控制台或Windows子系统进行编译.

我不想用windows子系统编译,我想控制台只有main()ad没有"windows.h"包含(从那里我调用我自己的库打开窗口并自己内部处理消息泵)

它的工作原理,但问题只是当我用控制台子系统编译时,出现丑陋的蓝色控制台窗口,我不需要它

所以我认为我只需要没有windows子系统编译,没有控制台子系统编译,只是让我的程序在一些原始模式下编译(两者都没有控制台创建,没有WinMain入口点 - 怎么做?

winapi linker c++builder

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

OpenGL中的每像素绘图

我曾经用'每像素'绘图来编写小游戏,我的意思是使用一些SetPixel(x,y,color)等功能.

我也对OpenGL感兴趣,但对此并不了解.

在OpenGL中进行每像素绘制是一种好的(快速)方法吗?

例如,使用纹理四边形作为精灵或整个应用程序背景屏幕,可以使用某种我自己的SetPixel例程设置不同的像素,我会写...或任何其他方式 - 但它应该是有效的尽可能多

(特别是我对基本的基础知识1.0版本的OGL感兴趣)

opengl 3d

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

如何光栅化旋转的矩形(在2d内由setpixel)

我有旋转矩形的四个2d顶点ABCD,我需要使用setpixel(x,y,color)在pixelbufer中光栅化/绘制它(有效)

怎么做?

我正在尝试使用一些代码

    // convertilg a b c d do up down left right, 
    // calculating some dx_left dx_right on y--
    // etc (frustrating on special cases when there are 2 up_y vertices in same line etc)


    for(;;)
    {

     drawhorizontalline(y, xstart, xend, color);

     if(y==downy) break;

     y--;
     xstart+=dxstart;
     xend+=dxend;

     if(y==lefty)  dxstart = dxright;
     if(y==righty) dxend = dxleft;

     }
Run Code Online (Sandbox Code Playgroud)

但它是最令人沮丧的(非常容易出错和最令人沮丧)我真的厌倦了昨天整整这一天,我需要找到一些工作代码,而不是试图调试这个

c algorithm 2d graph-algorithm rasterize

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

除法和LUT?/快速浮动分割互惠

是否可以以查找表的形式进行浮点除法的倒数(如1/f - > 1*inv [f])?怎么做?我认为应该将一些and mask和shift应用于float以使其成为索引的一种形式?怎么会这么好?

c c++ optimization fpu

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

SSE 中的 ZeroMemory

我需要使用 SSE(首选 SSE2)进行简单的 ZeroMemory 实现有人可以帮忙吗?我正在通过 SO 和网络进行搜索,但没有找到直接答案。

optimization x86 assembly sse

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