`
hqs7636
  • 浏览: 221013 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

新手常见问题汇总

阅读更多
10.8

I figured out a way to get the offsetof any member statically:

class A {
     char a;
     int b;
     char c;
}

void main()
{
     int[A.init.a.offsetof]  x;
}

Unfortunately, I can't figure a way to get the class' size statically.
This doesn't work:

     int[A.classinfo.init.length]  x;

Any way to fetch the size of A?


Andrei

相关的信件

This question was on .learn, from where the answer (by Jarret) was:
__traits(classInstanceSize, Class)


========================================

Unfortunately, I can't figure a way to get the class' size statically.
>> This doesn't work:
>>
>>     int[A.classinfo.init.length]  x;
>>
>> Any way to fetch the size of A?
>>
>
> sizeof(A) doesn't work?
>
>

sizeof(A) doesn't compile.

A.sizeof == Object.sizeof == (void*).sizeof


8/4 更新

本贴将随时更新,大家有什么好经验请在跟贴中提供,提供地址也行,测试过的最好能告知测试环境,在归类整理时我会公示贡献人。为新来者减少障碍,我们一起努力!

一、开发环境编译器DMD、Buile工具dsss、IDE 配置
   参见:http://bbs.d-programming-language-china.org/index.php各板块有较详细的资料


安装tangosvn :

如果下载的是捆绑了dmd的,就不需要安装单独的dmd了,如果已经安装了单独的dmd,要把系统路径中dmd和dm的路径去掉,并配置好tango\bin下的sc.ini文件。

压缩包更新比较慢,建议使用svn下载,地址:http://svn.dsource.org/projects/tango/trunk/。可以随时得到bug修复的版本,如果使用的是svn下载的版本,就需要安装单独的dmd了,并把dmd和dm的bin和lib路径设好。建议使用dmd和tango平行的目录,这样比较一目了然。


执行 tango\lib\build-dmd.bat
编译出:    tango-base-dmd.lib

执行 tango\lib\build-tango.bat
编译出tango-user-dmd.lib

执行 tango\lib\build-win32.bat
编译出tango-win32-dmd.lib

执行 tango\lib\install-dmd.exe (很多文章里没有写)
会在\D\dmd目录下新建一个 \import 目录,会自动添加一些tango文件,并且会自动改写
D:\D\dmd\bin\sc.ini配置文件,还会将上面编译出的3个lib文件自动复制到dmd\lib目录下。剩下的就是手工配置好系统路径和ide后就可以工作了。








#dmd1033



二、中文资料:
  参见:http://bitworld.ys168.com/ 中文手册,目前是dmd1.028
d圈子(论坛)http://dlang.group.iteye.com/  高手较多





1、关闭控制台:
     a、在 项目属性 ——〉编译器选项 中勾选“不显示控制台窗口”和“without console window”选项。(yidabu贡献)

     b、在项目的 others 目录下建一 A.def 文件,添加如下两行内容:(bbs.dvole.com 提供的文件)
        EXETYPE NT
       SUBSYSTEM WINDOWS

     保存后将 文件名 添加到 项目属性 ——〉编译器选项 ——〉额外选项 中即可。
      两者选其一就可。在Poseidon r239中可行

2、让控制台停住:(kuan 贡献)
   
import std.stdio;   
  
void main()   
{   
  //...... 
  getch();   
}  //测试过
  

import std.process;   
  
void main()   
{   
  //......   
  system( "pause" );   
}  

或用tango
import tango.io.Console;   
  
void main()   
{   
  //......   
  Cin.get();   
}  



3、处理中文:
import std.stdio;
import std.c.locale;
import std.process; 
void main(char[][] argv)
{         
    fwide(stdout, 1);  
    setlocale(0, "China"); 
    writefln("你好,DMD");//d方式,也支持c的printf()方式,参见dmd1.028中文手册(上)10.1.20
    system( "pause" );
} //目前在dmd2.013 win2003中,任何中文输出的都是人民币符号,不知为什么,解决后再修正 




kuan  2010-03-25
   1. import std.c.stdio, std.windows.charset, std.process; 
   2.  
   3. void main() 
   4. { 
   5.     // TEST  on DMD 1.056 and 2.042 
   6.     printf( toMBSz("中文\n" ) ); 
   7.     printf( toMBSz("中文加ENGLISH加數字123456789\n" ) ); 
   8.     std.process.system( "pause" ); // pause 
   9. } 
。。。




分享到:
评论
1 楼 Colorful 2008-04-30  
支持一下!

相关推荐

    CTEX常见问题汇总 CTEX常见问题汇总

    ### CTEX常见问题汇总知识点详解 #### A. 关于FAQ - **CTEX的作用:** CTEx是一个专注于中文LaTeX排版系统的社区和支持平台。它不仅提供了一系列的工具和资源来帮助用户更好地处理中文文本,还搭建了一个活跃的...

    web常见问题汇总

    "web常见问题汇总"这个主题涵盖了从服务器端编程到前端设计的多个方面。以下是根据提供的压缩包文件名所涉及到的知识点的详细解析: 1. **PHP函数**(常用的PHP函数.txt): PHP是一种广泛使用的服务器端脚本语言...

    PB常见问题汇编;PowerBuilder编程俱乐部常见问题;PB常见函数;PowerBuilder常见问题集;PowerBuilder使用技巧集;PB常见问题;PB技巧100例;PB技巧及经验。是个集成包。

    2. **PowerBuilder编程俱乐部常见问题**:这可能是一个社区或论坛的问题汇总,包含了用户在实际编程过程中遇到的问题和解决方案。这些问题往往具有实践性,能够帮助开发者解决实际遇到的难题。 3. **PB常见函数**:...

    Java常见问题集锦

    Java常见问题集锦,让每一个新手可以从java开发中快速找到开发中遇到的问题!

    新手常见Python运行时错误汇总.docx

    Python 新手常见运行时错误汇总 Python 是一个非常popular的编程语言,对于初学者来说,可能会遇到很多错误。本文将汇总一些常见的 Python 运行时错误,并提供相应的解决方案,帮助新手快速排除错误,提高编程效率...

    新手常见Python运行时错误汇总.pdf

    Python新手常见运行时错误汇总 Python是一种广泛使用的高级编程语言,对初学者来说,可能会遇到各种运行时错误。本文总结了常见的Python运行时错误,旨在帮助初学者更好地理解和解决这些问题。 1. Type Error: Can...

    前端开发常见问题汇总概要总结.docx

    编程思维和基本算法的理解:新手开发者可能会因为对基础算法、数据结构理解不足,在面对复杂的前端编程思维如原型链、闭包、作用域链等问题时感到困扰。 计算机科学基础:对计算机体系结构、操作系统原理、网络通信...

    C/C++常见错误汇总

    这些语言以其强大的性能和灵活性而闻名,但也因为其对细节的严谨性导致了许多常见的陷阱和错误。以下是对这些常见错误的详细总结,旨在帮助初学者避免或理解这些错误,从而提升编程技能。 1. **类型不匹配**:C/C++...

    虚拟机macOS常见问题汇总.zip

    虚拟机macOS常见问题汇总:01 无法联网的解决方法,02 全屏或分辨率低 安装VMware tools方法,03 共享电脑文件方法,04 Mac苹果电脑怎么安装软件【新手教程】,05 登录App Store无法下载软件解决方法:06 Intel VT-x...

    17个新手常见Python运行时错误.docx

    Python 新手常见错误汇总 Python 语言是一种易于学习的编程语言,但是新手常常会遇到一些常见的错误。这些错误可能会导致程序崩溃或无法运行。在本文中,我们将总结 17 个新手常见的 Python 运行时错误,帮助您快速...

    Python新手入门常犯的错误汇总共2页.pdf.zip

    7. **异常处理**:忽视异常处理是新手常见的错误。不使用try/except块捕获和处理错误,可能导致程序意外终止。 8. **文件操作**:打开文件后忘记关闭,或者在读写文件时使用了错误的模式(如写入时未清空文件),...

    测试新手常用的资源汇总

    在提供的压缩包文件中,"关于面试"可能包含了一些面试技巧和常见面试问题,这对于准备面试的测试新手来说是宝贵的参考资料。"测试用例"文件很可能是各种测试用例模板,新手可以参考这些模板来学习如何编写规范的测试...

    H3C 云计算产品故障处理手册汇总集【共4本】.rar

    《H3C 云计算产品故障处理手册汇总集》是一份包含四本专业手册的资源,旨在帮助用户解决在使用H3C云计算产品过程中遇到的各种问题。这个压缩包包含以下四份文档: 1. **H3C CAS常见问题FAQ V1.0**: 这份文档提供...

    网页制作常见问答集锦CHM.rar

    "网页制作常见问答集锦CHM.rar"是一个专门为新手和有经验的网页制作者准备的资源库,它汇总了作者在多年实践中遇到的各种问题及解决方案,覆盖了网页制作的各个方面。 首先,我们可以从“新手学习”这个标签入手,...

    广联达软件常见问题解答页PPT学习教案.pptx

    13. **做法缺失问题**:如果先绘制墙后套做法,可能需要检查是否正确套用到新建的墙层,以避免工程量汇总时的做法缺失。 14. **保温层定义**:软件在定义保温层时可能需要特定的操作步骤,具体操作可能涉及新建墙层...

    css小知识特别适合新手

    这个文件可能提供了一些实用的学习方法和常见问题解答。 "css网页布局24则小技巧.txt"可能包含了一些进阶的布局技巧,比如流式布局、网格布局、响应式设计等。这些技巧能帮助新手创造出更专业、更适应不同设备的...

    会计新手必备:金蝶财务软件快捷键功能及操作技巧汇总.doc

    八、常见问题解决方法 1. 结转损益后,本期损益类科目还有余额? 原因:结转损益前未将所有的凭证过账;结转损益后又录入了损益类科目的凭证。 解决方法:删除结转损益生成的凭证,重新进行结转损益操作。 2. 凭证...

    计算机常见资料书记汇总

    - **适合人群**: 需要避免C语言编程中常见问题的学习者。 ### Visual Basic #### 1. Visual Basic.NET教程 - **作者**: Francesco Balena - **简介**: 介绍了Visual Basic.NET的基本语法和开发技巧。 - **适合人群*...

Global site tag (gtag.js) - Google Analytics