小编Che*_*ery的帖子

在OO语言中,您为包含Main方法的类命名了什么?

例如,在C#或Java中,总是有一个main()方法用于运行程序.你怎么称它所在的课程?我将使用的一些想法只是"程序"或程序本身的名称.在这种情况下,什么是传统的?

c# oop naming-conventions

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

Objective-C和linux上的游戏编程

我想在游戏编程中尝试使用Objective-C.问题是我需要一些工具和库.

我需要的第一件事就是GUI和图形库.

我有什么选择?

linux objective-c

12
推荐指数
4
解决办法
9807
查看次数

您将如何实施违规规则?

我已经编写了一个可以解决这个问题的生成器,但我想知道实现偏离规则的最佳方法.

简而言之:在这种情况下,偏离规则意味着缩进被识别为语法元素.

以下是伪代码的越位规则,用于制作以可用形式捕获缩进的标记器,我不想按语言限制答案:

token NEWLINE
    matches r"\n\ *"
    increase line count
    pick up and store the indentation level
    remember to also record the current level of parenthesis

procedure layout tokens
    level = stack of indentation levels
    push 0 to level
    last_newline = none
    per each token
        if it is NEWLINE put it to last_newline and get next token
        if last_newline contains something
            extract new_level and parenthesis_count from last_newline
            - if newline was inside parentheses, do nothing
            - if …
Run Code Online (Sandbox Code Playgroud)

language-features programming-languages language-design lexical-analysis

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

用于制作Flash应用的免费工具?

我有一个非常糟糕的javascript/flash -interaction kludge.现在我已经决定编写一个可以执行特定操作的Flash应用程序,而无需与javascript交互.

因此我需要在linux中生成flash应用程序,而且我现在没有钱投入adobe(也许从来没有,如果他们的软件一直很糟糕).也不打算在Windows上进行软件开发,一直在那里,结论:这不会有效.

那么,任何解决方案?免费还是开源?

flash

10
推荐指数
2
解决办法
440
查看次数

x86指令编码表

我正在重写我的汇编程序.在此期间,我对实施反汇编感到好奇.我想让它变得简单和紧凑,并且我可以利用这些概念.

可以从操作码确定x86指令编码的其余部分(也可能需要前缀字节,一点).我知道很多人都写过表格.

我对助记符和指令编码不感兴趣,因为那是一个实际的难题.对于每个操作码编号,我需要知道:

  • 这条指令包含modrm吗?
  • 这个指令有多少个直接字段?
  • 什么编码立即使用?
  • 是指示指针的直接字段 - 相对地址?
  • modrm用于操作数和寄存器字段的寄存器是什么类型的?

sandpile.org有一些我需要的东西,但它的格式不容易解析.

在我开始自己编写和验证这些表之前,我决定写这个问题.你知道这种桌子存在吗?在一种不需要太多努力解析的形式.

b   byte
w   word
v   word or dword (or qword), depends on operand size attribute (0x66)
z   word or dword (or dword), depends on operand size attribute
J   instruction-relative address (next character describes type)
G   instruction group, has modrm-field (next character describes operand type)
R   has modrm-field (next two characters describe register and operand type)
M   modrm, but operand field must point to memory
O   direct offset (next …
Run Code Online (Sandbox Code Playgroud)

x86 assembly code-generation disassembly

10
推荐指数
2
解决办法
3871
查看次数

如何实现实用的光纤调度器?

我知道使用协同程序作为基础并实现玩具调度程序的基础知识.但我认为这是关于整体异步调度程序的过于简化的观点.我的想法中缺少一整套漏洞.

如何防止cpu运行正在运行空闲/等待的调度程序?有些光纤只是睡觉,有些则等待来自操作系统的输入.

linux asynchronous scheduling language-implementation

9
推荐指数
2
解决办法
7984
查看次数

Python ctypes和函数调用

我的朋友制作了一个在x86上工作的小型概念验证汇编程序.我决定将它移植到x86_64,但我立即遇到了问题.

我在C中编写了一小段程序,然后编译并objdumped代码.之后我将它插入到我的python脚本中,因此x86_64代码是正确的:

from ctypes import cast, CFUNCTYPE, c_char_p, c_long

buffer = ''.join(map(chr, [ #0000000000000000 <add>:
  0x55,                     # push   %rbp
  0x48, 0x89, 0xe5,         # mov    %rsp,%rbp
  0x48, 0x89, 0x7d, 0xf8,   # mov    %rdi,-0x8(%rbp)
  0x48, 0x8b, 0x45, 0xf8,   # mov    -0x8(%rbp),%rax
  0x48, 0x83, 0xc0, 0x0a,   # add    $0xa,%rax
  0xc9,                     # leaveq 
  0xc3,                     # retq
]))

fptr = cast(c_char_p(buffer), CFUNCTYPE(c_long, c_long))
print fptr(1234)
Run Code Online (Sandbox Code Playgroud)

现在,为什么每次运行它时这个脚本都会继续执行分段错误?

我还有一个关于mprotect和没有执行标志的问题.据说可以防止缓冲区溢出等大多数基本安全漏洞.但它使用的真正原因是什么?你可以继续写,直到你点击.text,然后将你的指令注入一个漂亮的PROT_EXEC -area.当然,除非你在.text中使用写保护

但那么,为什么到处都有PROT_EXEC?它的.text段是否被写保护不是很有帮助吗?

c python assembly ctypes x86-64

7
推荐指数
2
解决办法
3576
查看次数

用网格模拟水

有一段时间,我一直试图用我从"游戏的实时流体动力学"中剔除的算法来模拟流动的水.问题是我似乎没有用这些算法得出类似水的行为.

我自己,我猜我做错了,那些算法并不适合水样流体.

这些算法我做错了什么?这些算法是否正确?

我在bitbucket存储库中有相关项目.(需要gletools和最新的pyglet才能运行)

simulation physics

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

如何合成声音?

我想制作类似于真实乐器音频的声音.问题是我很少知道怎么做到这一点.

我所知道的远离真实乐器的是它们输出的声音很少干净.但是如何产生这种不洁的声音呢?

到目前为止,我已经做到了这一点,它产生了非常简单的声音,我不确定它是否正确地使用了alsa.

import numpy
from numpy.fft import fft, ifft
from numpy.random import random_sample
from alsaaudio import PCM, PCM_NONBLOCK, PCM_FORMAT_FLOAT_LE

pcm = PCM()#mode=PCM_NONBLOCK)
pcm.setrate(44100)
pcm.setformat(PCM_FORMAT_FLOAT_LE)
pcm.setchannels(1)
pcm.setperiodsize(4096)

def sine_wave(x, freq=100):
    sample = numpy.arange(x*4096, (x+1)*4096, dtype=numpy.float32)
    sample *= numpy.pi * 2 / 44100
    sample *= freq
    return numpy.sin(sample)

for x in xrange(1000):
    sample = sine_wave(x, 100)
    pcm.write(sample.tostring())
Run Code Online (Sandbox Code Playgroud)

python numpy alsa

7
推荐指数
2
解决办法
3171
查看次数

纹理球体没有强烈扭曲

我在几场比赛中看到了纹理良好的球,行星和其他球形物体,上次在不明飞行物:后果.如果你只是将纹理溅入纬度/经度作为你和w -coordinates你会得到很多丑陋的纹理扭曲到两极.

我认为自己是一种实现具有最小失真的球形地图的方法.通过三角形而不是正方形映射.但我不知道任何算法.如何为这样的球体生成顶点和纹理坐标?

此外,我没有看到从简单的扁平方形图生成完整球形贴图的方法.绘制这样的地图有没有直观的方法没有真正的麻烦?

但是,有没有其他算法来渲染没有或具有最小失真的球体?

光线跟踪和光栅化算法都很有趣.

graphics textures raytracing

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