我不懂java(通常用c写)
如何有效地将像素数组内容嵌入到java窗口中?
我需要(循环)blit pixels[][]到一个窗口
我可以用类似的东西
pixels[][] -> MemoryImageSource -> Image -> drawImage
Run Code Online (Sandbox Code Playgroud)
但创建和删除 MemoryImageSource,并Image
在每一帧觉得奇怪,我-怎么可以简单地,合理高效地完成?有人可以给出一个代码示例,tnx
很抱歉这些简单的问题,但我是Java新手(通常用c写)
在循环中执行new删除对象的旧实例?
我需要类似的东西
for(;;)
{
// work on here pixels[]
source = new MemoryImageSource(200, 200, pixels, 0, 50);
image = createImage(source;
// then use image here
}
Run Code Online (Sandbox Code Playgroud)
我只需要到达上面,在每个帧中新的包装source和image对象,并且不想打扰删除它,但我也不想将大量的它们存储为内存泄漏,
是否会自动删除?操作繁重吗?
如果我们有一组模块(翻译单元),可以用两种方式链接符号:
'本地'链接 - 给定的导出符号'a'可以链接到适当的模块m1,而来自不同模块的其他给定符号'a'可以链接到其他适当的模块m2.使用这种链接方式即使两个模块使用相同的符号名称也不会发生冲突 - 它们只是不能链接到同一个模块
'全局'链接 - 链接时将所有符号名称放在一个包中.它使符号空间污染并没有必要(我认为它是c连接系统中的'设计bug')
C语言可能不强加"全局"链接,但链接器执行AFAIK
希望这个问题是合适的.这是关于c语言的,很清楚," C语言是否强加了全球链接方式? "
//编辑
据说下面C99强调了这一点.TNX的答案.
第一个c标准是否也强加了?我对这里的oryginal c创作者的意图非常好奇.(正如我所说,我认为全球链接是c语言中的一个坏选择)
c/c ++编译器是否按值将结构推送到堆栈上,如果程序员指定了一个大型结构,则将数百个字节存储到堆栈中?返回的结构是否会受到同样的惩罚?
哪个命令将ram像素缓冲区准确上传到视频内存中的纹理?
这是glTexImage2D(...)?也许或其他什么?
如果我有一些纹理,并想要更改RAM缓冲区内容我可以用什么命令将其转移到视频卡?
我可以用于此目的?