C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[9]: D言語の共用体について


(過去ログ 42 を表示中)

[トピック内 18 記事 (1 - 18 表示)]  << 0 >>

■21844 / inTopicNo.1)  D言語の共用体について
  
□投稿者/ ネタ好き(インドリ) (2回)-(2008/07/10(Thu) 17:30:46)
ネタ好き(インドリ) さんの Web サイト

分類:[その他の言語] 

いつもお世話になっています。ネタ好き事インドリです。
今回は、D言語の共用体についてどうしても分らない事があるので皆様にお聞きしたくて投稿します。
C言語で次の共用体を使ったサンプルコードは意図どおりに動作します。
#include "stdafx.h"

union Register {
public:
    unsigned char AH;
    unsigned short AX;
    unsigned int EAX;
}reg;

int _tmain(int argc, _TCHAR* argv[])
{
	reg.EAX = 0xAAAAEEAA;
	printf( "EAX=%x\n", reg.EAX);
	printf( "AX=%x\n", reg.AX);
	return 0;
}

しかしこれと同等のD言語の共用体のコードは動作しません。
挙動が構造体にしか思えません。

import std.stdio;

union Register {
public:
    ushort AX;
    uint EAX;
}

int main( char[][] ) {  
    Register reg;
    reg.EAX = 0x_AAAA;
    writef( "EAX=%x", reg.EAX, "\n" );
    writeln( "AX=", reg.AX ); //AAではなく0となる。
    reg.AX = 5; //これでAA05になるはずだけど・・・
    writef( "EAX=%x", reg.EAX, "\n" ); //AAAAになる。
    writeln( "AX=", reg.AX ); //5と出力される。
    return 0;
}

開発環境はdmd2.014です。
この共用体のバグの直し方や、間違っている点を指摘してくださる方お待ちしております。

引用返信 編集キー/
■21911 / inTopicNo.2)  Re[1]: D言語の共用体について
□投稿者/ ネタ好き (549回)-(2008/07/11(Fri) 17:53:59)
何の返答もないと淋しい。私は意外と淋しがり屋なのですw
冗談はさておき、何でも良いから共用体についての情報はありませんか?
もしなかったら雑談でもOKです。
引用返信 編集キー/
■21914 / inTopicNo.3)  Re[2]: D言語の共用体について
□投稿者/ ロック (45回)-(2008/07/11(Fri) 18:29:20)
2008/07/11(Fri) 18:37:32 編集(投稿者)

D言語って何?おいしいの?っていうレベルです orz

昔、まだ学生だった頃、先輩に
「アセンブラがわからない、ついていけない」と言ったところ
「アセンブラなんて覚えなくていいよ、Visualアセンブラなんて無いだろう?、これから使われなく
なるんだから、覚えても意味がない」
と言われました、その言葉を真に受けて、アセンブラをおろそかにして今に至りますが
デバッグとかハッキングというレベルになるとアセンブラの知識はあった方が良いですよね・・・・

D言語も覚えていて損は無いのでしょうか?
ご教授願います。

#追記
Visualアセンブラと言っている時点で当時の我々の無知さを物語っています
笑ってやってくださいw

引用返信 編集キー/
■21915 / inTopicNo.4)  Re[3]: D言語の共用体について
□投稿者/ ネタ好き (550回)-(2008/07/11(Fri) 19:03:46)
2008/07/11(Fri) 19:20:29 編集(投稿者)
2008/07/11(Fri) 19:06:13 編集(投稿者)

No21914 (ロック さん) に返信
> D言語も覚えていて損は無いのでしょうか?
> ご教授願います。
ロックさん返信有難うございます。
私はコンパイラを学ぶために、天才と呼ばれる人が作ったD言語を学んでいますので、技術者が実務的観点からが学ぶべきかどうかはちょっと分かりません(コンパイラ作りは趣味の世界に近い)
ただ、Windows以外のプログラミングも視野に入れるのならば、絶対に覚えておいた方がいいと思います。天才のオープンソーソでの影響力は侮れません。
私の意見は偏っていると思いますので他の人の意見も聞きたいです。

「みんなは、D言語覚えておいた方がいいと思う?」

追記
書いた後で思ったんだけど、天才だからD.NETも作ってしまいそうですね。うーん。判断が難しい・・・
ええい、面倒だ。覚えちゃえw
引用返信 編集キー/
■21918 / inTopicNo.5)  Re[4]: D言語の共用体について
□投稿者/ ネタ好き (551回)-(2008/07/11(Fri) 19:31:51)
2008/07/11(Fri) 19:32:43 編集(投稿者)

D言語について引き続き考えていました。まず一つ言える事は「一番最初に覚えるべき言語ではない」事だと思います。公式ホームページにそう断言されていますし、開発環境不足、商売力、業務での採用度から考えてそれだけは確かだと思います。
それで、D言語を覚えるべきかという本題ですが、私が思うにヴァージョン2の間に覚えておいが方がいいと思います。というのも、このコンパイラの作者天才といわれるだけあって、積極的に関数型の要素、契約プログラミングのサポート、テンプレートミックスインなどの高度な機能などを付け加えていっておりますので、まだ2の間に覚えておいて、いつかRubyみたく業務に採用されるようになってきたら「実は俺、D言語できるぞ。」とアピールすれば社内の評価をあげられるかもしれませんし、ヴァージョン4や5になってからいきなり学習するのはつらいと思います。
ですから、ある程度今のうちに慣れ親しんだらいいと私は思います。

引用返信 編集キー/
■21923 / inTopicNo.6)  Re[5]: D言語の共用体について
□投稿者/ みかん屋 (1回)-(2008/07/11(Fri) 20:12:52)
みかん屋 さんの Web サイト
はじめまして

dmd2.015 だと、

union Register {
    public ushort AX;
    public uint EAX;
}

こうするとよさそうです。


public: ...

や

public{ ... }

だとダメなようです。

引用返信 編集キー/
■21924 / inTopicNo.7)  Re[2]: D言語の共用体について
□投稿者/ 倉田 有大 (276回)-(2008/07/11(Fri) 20:44:28)
No21911 (ネタ好き さん) に返信
> 何の返答もないと淋しい。私は意外と淋しがり屋なのですw
> 冗談はさておき、何でも良いから共用体についての情報はありませんか?
> もしなかったら雑談でもOKです。

D言語は、昔、ちょっとだけ、さんぷるをコンパイルしました。
ソースが古いとコンパイル通らなくて悩みました。
現在は結構枯れてきているんでしょうか?
引用返信 編集キー/
■21925 / inTopicNo.8)  Re[6]: D言語の共用体について
□投稿者/ 鶏唐揚 (237回)-(2008/07/11(Fri) 20:45:18)
質問には回答できないので雑談のほうに反応w

私もD言語学習してるクチですが、D言語は最初に覚えてもいい言語だと思います。
もちろんCとか知っていれば応用できる部分が多数あるので楽っちゃ楽ですが
だからといって、Cを知らなかったらまったくできないような言語でもないです。

今後Dを使い続けるつもりならば、わざわざCとかをクッションにするより
むしろいきなりD言語を覚えたほうが楽かもしれません。

で、
>D言語も覚えていて損は無いのでしょうか?
というのは、現状何言語が使えるかということと、
今後何を作っていきたいかによるかと思います

今C++バリバリ使いこなせているなら、D覚えても大してプラスにならないと思うので
覚える時間が無駄かもしれません。

Cしか知らない・BASIC系しか知らない かつ、ネイティブアプリ作りたい!C++並のパワーのを!
というなら、C++よりD言語をお勧めします。

#むしろC++のほうがC知らないと無理ぽ…というか知っててもかなり難しいw
 のでC知ってる私はC++よりもDを選びました。
引用返信 編集キー/
■21927 / inTopicNo.9)  Re[3]: D言語の共用体について
□投稿者/ 玄人指向 (1回)-(2008/07/11(Fri) 21:06:14)
No21924 (倉田 有大 さん) に返信
> ■No21911 (ネタ好き さん) に返信
>>何の返答もないと淋しい。私は意外と淋しがり屋なのですw
>>冗談はさておき、何でも良いから共用体についての情報はありませんか?
>>もしなかったら雑談でもOKです。
>
> D言語は、昔、ちょっとだけ、さんぷるをコンパイルしました。
> ソースが古いとコンパイル通らなくて悩みました。
> 現在は結構枯れてきているんでしょうか?

D言語なんて初めて耳にしました。認識不足でお恥ずかしいです。

ところでC言語というのは、何の略語なのでしょうか?
A言語なんてありませんよね。なぜCから始まるの?
引用返信 編集キー/
■21929 / inTopicNo.10)  Re[4]: D言語の共用体について
□投稿者/ 鶏唐揚 (238回)-(2008/07/11(Fri) 21:52:46)
No21927 (玄人指向 さん) に返信
A言語は聞いたことないですが、(内部的に)存在はしていたんじゃないかと
推測します。というのも、C言語の前身がB言語だったからです。
B言語についてはWikiにも書かれるくらい有名なのでそちらを参照してみてください。
で、そのCにオブジェクト指向改造を施したのが、C++。これは「Cをインクリメント(1歩前進)させた」という意味で
つけたそうです。

ついでにいうとC#は主に2つの説があって、
「C++をさらに++という意味でC#」と「Cを進化させたことを、音楽的な意味になぞらえて『半音あげる』という意味でC#」
があります。

で、D言語は「C++とは別の方向にCを進化させた/本来のC言語進化系統を担ってほしい」という意味でつけたんだと思います。
引用返信 編集キー/
■21930 / inTopicNo.11)  Re[4]: D言語の共用体について
□投稿者/ 渋木宏明(ひどり) (822回)-(2008/07/11(Fri) 21:52:58)
渋木宏明(ひどり) さんの Web サイト
> A言語なんてありませんよね。なぜCから始まるの?

http://ja.wikipedia.org/wiki/C%E8%A8%80%E8%AA%9E#.E8.AA.95.E7.94.9F
引用返信 編集キー/
■21939 / inTopicNo.12)  Re[5]: D言語の共用体について
□投稿者/ ネタ好き (555回)-(2008/07/12(Sat) 09:07:19)
2008/07/12(Sat) 09:07:55 編集(投稿者)

みかん屋さんへ
えっ!どこで2.015を手に入れたのですか?
2.014では駄目だったので、教えていただければ助かります。

倉田 有大さんへ
ある程度はかれていると思います。
ですから今やるにはちょうどいいと思います。


鶏唐揚さんの言うようにD言語から始めるのもアリかも知れませんね。
みんな、D言語結構面白いですよ。
C系の素養があれば1月未満で習得でき、難しい機能を使わないのならばCの素養がなくとも1月あればOKです。
みんな、一緒に楽習しよう♪
ところで、ひどりさんはD言語エンジョイしていますか?
引用返信 編集キー/
■21940 / inTopicNo.13)  Re[6]: D言語の共用体について
□投稿者/ みかん屋 (3回)-(2008/07/12(Sat) 10:30:18)
No21939 (ネタ好き さん) に返信
> えっ!どこで2.015を手に入れたのですか?
> 2.014では駄目だったので、教えていただければ助かります。

D Change Log
http://www.digitalmars.com/d/2.0/changelog.html

にすべてのバージョンがあります。


今見たら、dmd 2.017 が出ていました。
引用返信 編集キー/
■21941 / inTopicNo.14)  Re[7]: D言語の共用体について
□投稿者/ ネタ好き (556回)-(2008/07/12(Sat) 10:44:55)
No21940 (みかん屋 さん) に返信
> ■No21939 (ネタ好き さん) に返信
>>えっ!どこで2.015を手に入れたのですか?
>>2.014では駄目だったので、教えていただければ助かります。
>
> D Change Log
> http://www.digitalmars.com/d/2.0/changelog.html
>
> にすべてのバージョンがあります。
>
>
> 今見たら、dmd 2.017 が出ていました。

有難う。やっぱり本家総元は見とくべきでしたね(テレ)
引用返信 編集キー/
■21955 / inTopicNo.15)  Re[6]: D言語の共用体について
□投稿者/ 倉田 有大 (277回)-(2008/07/12(Sat) 23:37:45)
> 倉田 有大さんへ
> ある程度はかれていると思います。
> ですから今やるにはちょうどいいと思います。

ああ、そうなんですか。
そのうち、きっとすごい人がIDE環境を作ってくれるんでしょうね〜(他力本願)
GUIが手軽に使えるようになる日はくるかな〜
引用返信 編集キー/
■21959 / inTopicNo.16)  Re[7]: D言語の共用体について
□投稿者/ ネタ好き (558回)-(2008/07/13(Sun) 12:45:52)
2008/07/13(Sun) 16:26:01 編集(投稿者)

No21955 (倉田 有大 さん) に返信
>>倉田 有大さんへ
>>ある程度はかれていると思います。
>>ですから今やるにはちょうどいいと思います。
>
> ああ、そうなんですか。
> そのうち、きっとすごい人がIDE環境を作ってくれるんでしょうね〜(他力本願)
> GUIが手軽に使えるようになる日はくるかな〜

そこは大丈夫。鶏空揚さんが作ってくれますし既存のIDEもあります。

引用返信 編集キー/
■21963 / inTopicNo.17)  Re[8]: D言語の共用体について
□投稿者/ 鶏唐揚 (239回)-(2008/07/14(Mon) 08:36:05)
No21959 (ネタ好き さん) に返信>
> そこは大丈夫。鶏空揚さんが作ってくれますし既存のIDEもあります。
>
正直ハイライトで詰まってますorz
あと名前の字違いますw
引用返信 編集キー/
■21965 / inTopicNo.18)  Re[9]: D言語の共用体について
□投稿者/ ネタ好き (559回)-(2008/07/14(Mon) 09:34:45)
No21963 (鶏唐揚 さん) に返信
> ■No21959 (ネタ好き さん) に返信>
>>そこは大丈夫。鶏空揚さんが作ってくれますし既存のIDEもあります。
>>
> 正直ハイライトで詰まってますorz
> あと名前の字違いますw

あれ?変換間違ったw
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -