今天早上突发奇想,想用D语言新增加的mixin和可变参数模板来封装Windows的DLL,结果奋斗了一天也没有结果。我原先设想的是达到类似如下伪码的水平:
1 //Module 模板第一个参数是DLL路径名,后跟不限个数 Proc 模板。Proc用于定义一个DLL中的函数,第一个参数为函数名,第二个为返回值类型,其余为形参。
2 Module!("User32.dll", Proc!("MessageBoxW", int, HWND, const wchar*, const wchar*, uint), Proc!("GetDesktopWindow", HWND)) user32;
3 //使用DLL中的函数:
4 user32.MessageBoxW(null, "Hello! World!", "Hello!", MB_OK);
5 HWND hdesktop = user32.GetDesktopWindow();
我原本想用函数编译时执行将Proc定义的DLL中的函数生成Module模板的函数指针成员字符串,再用mixin加入Module模板类定义,折腾了一天,结果最后才发现编译时函数执行不支持可变参数,真是苦恼啊,不知哪位高人有更好的解决方法。
顺带说一句,Walter放出了 DMD 1.007,解决了一些Bugs,语法上稍微做了一些调整。
分享到:
相关推荐
“向着某一天终于要达到的那个终极目标迈步还不够,还要把每一步骤看做目标,使它作为步骤而起作用”,这句话提醒我们要关注教学过程中的每一个细节,每一步都要扎实有效。而“灰色的理论到处都有,我的朋友,只有...
大家共勉——“不是因为有了希望才去坚持,而是因为坚持了才有希望!”我们的理想,无论大小,...让我们一起为了理想,为了那个心中的美好愿景,勇敢地奋斗,让每一天都充满力量,让我们的青春在理想的照耀下熠熠生辉!
例如,欧洲国家如英国、法国通常会放假一天,而意大利则不设公共假期。美洲的秘鲁在5月1日放假庆祝,而美国的劳动节则在9月的第一个星期一。亚洲的日本在劳动节期间有“黄金周”,泰国则会有一日的全国性休假。在...
军训的最后一天,会操表演是对整个军训成果的检验。每个方阵都全力以赴,力求展现出最好的一面,这既是为了个人的荣誉,也是为了集体的荣誉。通过这次表演,学生们进一步明白了团队协作的力量,以及为了共同目标而...
时间对每个人都是公正的,一天有24小时,但如何利用这些时间,决定了每个人的不同命运。珍惜时间的人能够取得成果,而浪费时间的人则会一事无成。这一观点通过对比在网课期间表现优异和收效甚微的同学进一步强化,...
5. 学生宣誓:全体学生庄严宣誓,承诺不负父母、老师、自我期待,以行动证明决心,奋斗一百天,争取在中考中取得优异成绩。 6. 领导讲话:校长的讲话起到了动员和鼓励的作用,为学生指明方向,增强他们的信心。 7....
4. "一步二步三步步步高升,一天两天三天天天向上" - 描述了积累的重要性,鼓励学生每天都有所进步。 5. "刻苦勤奋,严格自律" - 倡导刻苦学习和自我约束,这是获取成功的关键。 6. "扬理想之风帆,抵成功之彼岸" ...
6. **学习的比喻**:将学习比作爬山,强调“只要我们有一颗向上的心,勤奋刻苦,总有一天能到达成功的顶峰”,这样的比喻激发了学生们的奋斗热情。 7. **新年祝福**:在结束语中,主持人向全体师生送出新年祝福,...
9. **课堂总结**:尽管国家宪法日只有一天,但宪法教育应贯穿全年,通过各种活动增进公众对宪法的了解,培养宪法意识,从而在生活中落实宪法精神。 10. **教学方法**:本课时采用提问、抢答、视频播放、讨论分享等...
2011年,我在湿法萃取的岗位上,亲身经历了科技与汗水交融的每一天。在这个过程中,我深深体会到敬业精神和专业技术的重要性。 湿法萃取是我们行业中的关键技术,它涉及到化学反应、物质分离等多个环节。面对料液...
军训的最后一天,我们展示了训练成果,整齐的步伐、响亮的口号,彰显了我们的团结与努力。军体拳的表演,更是体现了我们的集体力量和协调一致。这一刻,我们为自己的成就感到骄傲,也为这段共同奋斗的经历感到自豪。...
许多人会在这一天通过各种方式表达自己对祖国的深厚感情,比如参加庆祝活动、升旗仪式或者写下自己的感想。正如部分内容所提到的:“我爱祖国,热爱她的一切。我相信总会有一天,‘四化’奋进的伟大祖国,一定会更加...
例如,反复出现的一句话:“你不会发现自己有多强,直到有一天你发现你身边的支点都倒下了,你也没有倒在梦想的路上。” 这句话暗示了团队成员在面对困难时展现的坚韧和毅力,以及在追求目标过程中的个人成长。 ...
看着你一天天长大,爷爷心中充满了喜悦和期待。转眼间,你已经度过了十个年头,从懵懂无知的孩童成长为即将踏入青少年阶段的少年。这第一个十年,是人生中最无忧无虑的时光,你可能还不明白生活的意义,但你的一举一...
我们要认识到生命的价值,珍惜每一天,因为生命是不可重复的。我们应当热爱生活,即使面临生命的不可预知,也要积极面对,把有限的生命投入到无限的奋斗和奉献中。 4. 生命的独特性表现:人与人之间的个性品质丰富...
在这一天,人们会通过各种方式来庆祝,如聚会、游行、休闲娱乐等,以此来放松身心,享受劳动带来的成果。 【劳动节的庆祝活动】 在5月1日,人们可能会有各种各样的庆祝方式,例如与家人朋友共度佳节,开怀畅饮,...
部分内容提到了永贵能源高山煤矿在2015年一季度的安全工作成果和下一季度的工作规划,强调了安全管理、安全理念、双基建设以及隐患排查治理等方面。 1. **安全理念的灌输与实践**: - 高山煤矿遵循“从零开始,向...
在汇报表演的那一天,整齐的队列、高昂的士气,无不展示了军训的成果,也带来了成功的喜悦。 军训不仅增强了体质,更锻炼了意志,教会了同学们服从命令、严于律己的军人精神。这种精神将伴随他们度过大学生活,甚至...
提醒学生们要珍惜每一天,有效利用时间进行复习。 2. **心态调整**:面对高压的学习环境,高三学生要学会保持沉着冷静,以平常心对待学习和生活。面对困难和压力,保持乐观积极的心态至关重要。 3. **挑战与机遇**...
利用碎片时间进行复习,例如早晨醒来时回顾昨日所学,晚上睡前梳理一天的知识点,都是提高复习效果的好方法。 再者,集体复习同样重要。当老师带领我们进行复习时,要积极参与,跟随老师的思路,这会使我们事半功倍...