当前位置: 首页 > news >正文

网站 建设在作用是什么阿里 网站备案核验单

网站 建设在作用是什么,阿里 网站备案核验单,设计本质,蚌埠做网站公司原文 我正在开发一个游戏引擎,偶然发现了一些空针问题. 考虑此简单程序: class Test {void doIt(){} } void main() {Test t;t.doIt(); }它编译,然后在Linux上使用DMD时,用11信号干掉了. 如果使用Java,甚至不会构建该程序,因为它会失败,说明从未初化它. 但我不关心分析器,我宁…

原文
我正在开发一个游戏引擎,偶然发现了一些空针问题.
考虑此简单程序:

class Test
{void doIt(){}
}
void main()
{Test t;t.doIt();
}

它编译,然后在Linux上使用DMD时,用11信号干掉了.
如果使用Java,甚至不会构建该程序,因为它会失败,说明从未初化它.

但我不关心分析器,我宁愿有个运行时错误或异常显示它,何时何地有此无效值.

我不知道有多少人在D中使用DLL开发,但它的体验远非理想,放在类中及热加载,等可能会更糟.

每当程序崩溃而没有消息时,我只需转到VisualStudio并打开exe并再次试运行它.这次也一样,它无法在程序上找到内容,相反,它得到了一个完全随机和误导性的错误消息.

确切地说,它是个空针.
是的,此时,它相当简单,但我正重构过程中,我不用数组,而是使用:
因此,化简并检查此代码:

class MainScene : AScene, IHipPreloadable
{mixin Preload;Strip[] stripList;/**构造器*/override void initialize(){foreach(i; 0..30){import hip.math.random;Strip s = new Strip();stripList~= s;//..s.pos.x = Random.range(0, 800);}}
}

重构后,得到了以下代码:

class MainScene : AScene, IHipPreloadable
{mixin Preload;Pool!Strip stripList;/**构造器*/override void initialize(){foreach(i; 0..30){import hip.math.random;stripList.get().pos.x = Random.range(0, 800);}}
}

现在,问题很明显!我需要用new Pool!Strip()初化池实例.但是当我这样做时,并不明显,(使用LDC构建)错误消息未帮助我解决问题.

除了该简单问题外,还有热加载.

即,每当保存代码时,会自动重建重新加载文件,问题是,至少对我,喜欢多次保存和重新保存,即我在那里创建了不完整代码,然后因为代码不完整,它只是崩溃主程序.
目前,没有明显方法可以控制它说"没关系,只需卸载DLL".

从一开始,使用DLL对我一直很痛苦,很难找到正确的标志,不同编译器的行为又不同,且支持不完整!

我相信现在要求某人修复DLL只会有0优先级,所以,在此我提出请求,这将使整个语言受益,远远超出当前热门的新主题.

我使用DLL并在我的引擎中热加载.
我有一个文件模块:这里,它适合Linux/Windows.

我这样设置信号处理器,非常简单:

version(DLL) export extern(C) void on_reload(State* state) {LINFO("reloaded");debug rt_register_crash_handler();
}

DLL中的此例代码:

int* test = null;
*test = 5;

会给我:

-------------------------------------------------------------------+
Received signal 'exception' (3221225477ll)
-------------------------------------------------------------------+
C:\dev\kdom\projects\game\app.d:144 - game.app.on_tick
C:\dev\kdom\projects\game\app.d:144 - game.app.on_tick
C:\dev\kdom\projects\game\app.d:144 - rt_register_crash_handler
C:\dev\kdom\projects\game\app.d:144 - BaseThreadInitThunk
C:\dev\kdom\projects\game\app.d:144 - RtlUserThreadStart
make: *** [makefile:36: game-run] Error 2816

现在我知道了代码失败的确切位置,我可修复

version(DLL) export extern(C) void on_tick(State* state) {if (state.engine.input.is_key_just_pressed(Key.KEY_SPACE)){int* test = null;*test = 5;}
}

有人做了个PR来搞类似的,但我忘记了在哪(标准库或运行时).

多谢!我会试使用它,看看能用它走多远:D

http://www.yayakq.cn/news/447331/

相关文章:

  • 济南网站推广优化建设微网站项目报告
  • 网站建设是自己做好还是外包招聘网站可以做劳务派遣吗
  • 一流门户网站建设wordpress定制首页模板
  • 做公司网站需要什么资料维恩图在线制作网站
  • 怎么看一个网站用什么程序做的建立自己的网站平台须多少钱
  • 做百度糯米网站的团队2022最近比较火的热点话题
  • 潼南县大潼建设有限公司网站如何制作一部动漫
  • 恶意网站怎么办建造师在建设部网站何时更新
  • 广告费内包括网站建设外贸网站使用什么品牌国外主机
  • 最专业的网站开发公司哪家最专业搜索引擎有哪些种类
  • 南宁两学一做网站胶州网站开发
  • 网站开发报价 福州网站大图分辨率做多大
  • 哈尔滨网站备案手续费手机怎么在百度做网站
  • 郑州市多商家网站制作公司网站更改备案信息在哪
  • 响应式网站开发工具pc网站案例
  • 跨境电商网站建设无锡装饰网站建设
  • 公司做网站费用和人员配备东莞建设网下载app
  • 站长工具无忧网亿(深圳)信息科技有限公司
  • dw软件做的网站怎么发到网上2018 84号建设厅网站
  • 上海手机网站开发价格dede手机网站更新
  • 网站微信建设中国建设银行企业信息门户网站
  • 百度h5可以做网站吗wordpress 支持pdf
  • 外贸网站商城建设wordpress小说采集器
  • 医院网站建设策划方案天眼查app下载
  • 国外ui界面设计网站道滘东莞网站建设
  • 完整域名展示网站源码新品发布会文案
  • 合肥网站建设pqiw建筑公司会计账务处理
  • html网站建设中源代码凌云网最新消息
  • 芗城网站建设久产久人力有限公司
  • 普通网站建设多少钱wordpress page页面id