1read 100read
2012年3月プログラム263: "Code of the Nerds" Digital Mars C/C++ (344) TOP カテ一覧 スレ一覧 2ch元 削除依頼
プログラマー的"女の口説き方" (709)
Java低速GUI Swing 10 (116)
J#って何のためにあるの? (149)
Rubyについて(アンチ専用) Part004 (701)
【GPGPU】くだすれCUDAスレ part5【NVIDIA】 (608)
パR、パチスロの基盤のプログラム 2 (478)

"Code of the Nerds" Digital Mars C/C++


1 :03/02/03
高速かつ強力な最適化を誇るC/C++コンパイラ DMC
Win32からDOS, WanderWitch用アプリまで作れる DMC
でも日本ではWanderWitch関連以外の情報がほとんどない DMC
そんなDMCについて語り合いましょう。
WanderWitch関係の話題も大歓迎です。
公式HP:
http://www.digitalmars.com/
関連スレ:
D言語ドラフト一応読んだよ
http://pc2.2ch.net/test/read.cgi/tech/1003674814/l50

2 :03/02/03
  ∧_∧
 ( ´∀`)< ぬるぽ

3 :03/02/03
>>2 ガッ

4 :03/02/03
出勤前に上げときます。

5 :03/02/03
これってテスト版のみがフリーって事で合ってる?

6 :03/02/03
>>5
間違ってます。その言い方だと、正式版や製品版があるみたいだけど
DMCは正式版がフリーです。

7 :03/02/03
>>6
あら、そうなんだ。
たまたま今公開されてるのがテストバージョンって事なんですな。thx!

8 :03/02/03
次のバージョンのテスト版 『も』 公開されているだけで、テスト版だけが
公開されているわけじゃないですよ。
つか、以前は次バージョンのbeta版なんて公開されていなかった。

9 :03/02/03
一応有料のCD版もあるけど
これはフリーで配布されてるコンパイラに加えて
IDEやMFC、ライブラリのソースが含まれてるもので
コンパイラ自体はどちらも同じ。
以前注文したら段ボールに包まれた火星柄のCDが
手書きの宛名で送られてきた。

10 :03/02/03
SHELL32.DLL みたいな WINAPI (stdcall) 呼び出しのDLL に対するインポートライ
ブラリはどうやって作るの?
ふつーに implib で作ったら @n の部分が落ちたインポートライブラリが作られて、
リンクできなかった。

11 :03/02/04
>>10
普通にimplibで出来るような気がするが…。
defファイルでエクスポート名を付け間違えてない?

12 :03/02/04
#include <iostream>
using namespace std;
以上が受け付けなかったのですが、仕様が古いコンパイラですか?

13 :03/02/04
>>12
STLport を入れると使えるようになります。

14 :03/02/04
>13
ソースをコンパイルしなさいってこと?・・・。(;;)

15 :03/02/04
DMCは元々入ってないぽい

16 :03/02/04
>>12
digitalmars.com にDMC用のSTLport 4.5.3 が置いてあります。
コンパイル済みのライブラリも入ってます。
使い方は dm\stlport\readme.txt 参照のこと。

17 :03/02/04
C/C++を一から勉強しようとしているので、分割コンパイルとかmakefileとか
さっぱりわかりません。
ですからSTLportのバイナリを作れません (;;)

18 :03/02/04
お久しぶりです。裕美子です。Cの老師を目指しています。
今、インフルエンザで出校停止です。

19 :03/02/04
あれ、名前の隣の記号の並びがおかしい。いつものとちがう。

20 :03/02/04
>>12
あの〜、自分でバイナリを作らなくても使えるんですけど…。
簡単にインスト方法を説明すると、
1. ttp://www.digitalmars.com/download/freecompiler.html から
 DMC 8.32 本体 (dm832c.zip) と Basic Utilities (bup.zip)、
 STLport 4.5.3 (stlport.zip) をダウンロード。
2. 解凍して、中身を同じディレクトリに入れる。(例えばC:\dm)
3. C:\dm\bin をPATHに追加
4. C:\dm\bin\sc.ini 内の INCLUDE 部分を↓のように書き換える。
 INCLUDE="%@P%\..\stlport\stlport";"%@P%\..\include";"%@P%\..\mfc\include";%INCLUDE%
 (先頭に「"%@P%\..\stlport\stlport";」を追加して「"%@P%\..\stl";」を削除)
あとは
C> dmc hoge.cpp
とすれば(エラーが無ければ)hoge.exe ができます。
オマケ:Platform SDKの最新版やBoostを使う方法
ttp://cmeerw.org/prog/dm/

21 :03/02/04
>20
ありがとうございました。sc.iniの書き方がわからないので
そのままコピーしてコンパイルしてみました。しっかり成功しました。
しかし。。。。
フリーのBCCコンパイラと比べると、生成された実行ファイルのサイズが
3倍ほどデカいのです。-oのオプションもつけましたが・・・。
こんなものですかね。

22 :03/02/04
STLPortのせいじゃない?

23 :03/02/05
確かにSTLportを使うと "Hello,World" 表示させるだけでも
300KBを超えますね。
CやSTLportを使わないC++だと、かなりサイズが小さくなるんですが…。
ところで Digital Mars ってどういう団体(?)なんでしょうか?
Walter Brightが個人でやってるのかな?

24 :03/02/07
Zortech age

25 :03/02/11
>>23
同人っぽいんじゃないかと勝手に予想。
で、DMC

26 :03/02/11
を買った>>9さん、どんな方法でオーダーした?
(途中で切れてもうたw)

27 :03/02/11
>>26
私はPaypalを使って注文しました。
申し込んでから2週間くらいでCDが到着したと思います。
ちなみにCDの中身はインストーラなどはなく、
\dm以下に全てのファイルがディレクトリ構造ごと入っていて
まるごとHDDにコピーして使うようになってました。

28 :03/02/11
>>27
サンクス。
漏れもDMCのCD( ゚д゚)ホスィんだけど、Credit Card 持ってないもんで・・・。
とりあえず彼らに連絡してみる。

29 :03/02/13
こんな物まで売ってたのね…
ttp://www.cafepress.com/digitalmars

30 :03/02/13
>>29
微妙にカコ(・∀・)イイw

31 :03/02/16
コンパイルオプションが分からん・・・。
と思って調べたら、ドキュメントはあるね。
ftp.digitalmars.com/Digital_Mars_C++/Doc/*.zip
なんか古いけど・・・とりあえずここのまま使えるみたい。
Webサイトの方にはなんも書いてないのは何故?

32 :03/02/16
>>31
ttp://digitalmars.com/ctg/ctg.html
こっちもまとめてDLできるようにしてホスィ・・・

33 :03/02/23
16bitではSTLportが使えんのか…。
ちょっと残念。

34 :03/03/08
DMC++ 8.33.7 beta release age
> Some minor fixes - internal errors, fp code generation, and a fix for FC++.
ttp://www.digitalmars.com/drn-bin/wwwnews?c%2B%2B.beta/50

35 :03/03/08
ここのD言語に興味がある

36 :03/03/09
>>35
是非D言語スレを盛り上げてくれ。いやマジで。
http://pc2.2ch.net/test/read.cgi/tech/1003674814/

37 :03/03/20
Digital Mars C/C++ 8.33 release age
今回の変更点は細かなバグフィックスが中心。
しかし盛り上がらんなぁ。
やっぱり人気無いのかな…。

38 :03/03/20
coff2omfは重宝している

39 :03/03/21
>>38
coff2omf って既に Shareware 扱い・・・。゜д゜)鬱死・・・
まぁ、前あったやつでも十分使えるし、CD 買えば付いてくるだろうし。

40 :03/03/26
>>37
わしは DOS 用のバイナリ作るのに使ってるぞ。
しかし、Watcom と違って、この扱いの小ささは謎だな。
元 Symantic(Zortech) C/C++ であってるよな!

41 :03/03/26
obj2asmもShareware化か…
ftpからダウンロードしていたので気づかなかった
>>40
まあWatcomはオープンソース化ということもあるし

42 :03/03/26
なるほど、ftpからたどっていくと・・・。
まあ、俺はCD買ったから関係ないけど。

43 :03/04/13
次のバージョンには STLSoft がバンドルされるそうだがどうよ?
ていうか、STLSoft って何ですか?
日本語の情報が見つからない…。

44 :03/04/13
STLportの間違いじゃネーノ?
と思ったけど違っターーー!
ttp://synesis.com.au/stlsoft/
よくnewsgroupなんてチェキしてるね。>>43

45 :03/04/13
チョキってなに?

46 :03/04/13
じゃんけんの手のひとつだ。
パーには勝ってグーには負ける。
というか板違いだゾ(w

47 :03/04/14
nerdだからいーんじゃね?

48 :03/04/19


49 :03/04/20
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

50 :03/04/20


51 :03/04/21
age

52 :03/05/17
hage

53 :03/05/17
obj2asmが無いってエラー出て使えネエ

54 :03/05/18
DMC++ 8.34.7 beta リリース age
8.33 からの主な変更点は:
 ・template, enum, 〜?〜:〜 の修正
 ・大きなスタック・フレームに対する問題の修正
 ・インライン・アセンブラの movq2dq のオペランド(?)が逆になっていたのを修正
 ・swprintf/vswprintfの引数をC99の仕様に合わせて変更
 ・インライン・アセンブラにfeni, fneni, fdisi, fndisiを追加
 ・-A オプション(ANSI C/C++互換)使用時のstdlib.h, string.hの問題点を修正

55 :03/05/18
>>53
obj2asmは有料になっちゃったから、フリー版では事実上 -cod が使えないね…
*.objからリストファイルを作るだけなら OpenWatcom の wdis.exe で出来るよ。

56 :03/05/28
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

57 :03/05/30
Walterタン、beta版のうp間隔短すぎ・・・

58 :03/05/30
 ー┼──          |       ー───  |     、   | ー─-    /  |      、   /
    |  _           |/ ̄    ー──   |      |  |       /    |      |   /
   |/  \         /       ー──   |      |  |       \    |      |  /^ヽ
        |  ├  ー-、|        | ̄ ̄|    ヽ'       レ  ̄ ̄    \   ヽ'       /   \丿
     _/  O-   ノ \__     ̄ ̄
               ー┼── | |  | ─|─  |    | |
                     | ー─    |  │   |/ ̄
                 | \_    |   |   (___
    _,,. -─‐- .,,_           _,,. -─‐- .,,_
   |_____   ___l ┌───┐│___   │
  ┌─┘ └─┐└─┐  │      │  │
  └─┐ ┌─┘ l二二.   │      │  │
       !   ,!    ┌─┘  │┌──┘  │
     └─' .     └───┘└────┘
    ___|  ̄ |_○,○       | ̄ ̄ll ̄ ̄|
    |__    __|┌──┐|    l.l    |
   ,'⌒',│  │,'⌒', l_______l.l    l |    !_,. ィ
    !  l│  │!  l     l   ,' |       ,!
   ゝ_ノ│  │ゝ_ノ      |__/.  !、_,,. ‐'
.        ̄

59 :03/06/04
8.34

60 :03/06/08
 DMCでWindowsプログラムのC言語ソースファイルをコンパイルするとエラーになるけど、
何かオプションの指定が必要なのかな。

61 :03/06/08
>>60
どんなエラーが出たのか書かないと、答えようがないぞ。
普通は
> dmc hoge.c
でコンパイル出来るが、実行するときにコンソールが開く。
(コンソールアプリではない)Windowsプログラムを作るときは
> dmc -WA -L/SU:WIN hoge.c

62 :03/06/09
ここのC/C++コンパイラって
何らかの形でDbCつかえるの?
int func(int a)
{
  __in
  {
  }
  __out(int result)
  {
  }
  __body
  {
  }
}
こんなん。

63 :03/06/09
>>62
http://www.digitalmars.com/ctg/designbycontract.html
int func(int a)
  __in
  {
  }
  __out(result)
  {
  }
  __body
  {
  }

64 :03/06/27
DMC++ 8.35.4 beta リリース age
今回はBug Fixのみ

65 :03/07/12
最近導入してみたのですが関連リンクとかありませんか?

66 :03/07/12
>>65
・Digital Mars Home Page(コンパイラ、オンラインマニュアル等)
ttp://www.digitalmars.com/
・Christof Meerwald's Some Digital Mars C++ Information
(最新のPlatform SDKを使う方法等)
ttp://cmeerw.org/prog/dm/
・WonderWitch サポートWebサイト(日本ではこれ用途がほとんど?)
ttp://wonderwitch.qute.co.jp/
・無料で揃えるプログラミング環境(「第4章. C++」にDMCの解説あり)
ttp://www7.plala.or.jp/hop-step-jump/prog00.html
Digital MarsのHPからDLできるソフトの本家
・Hans Boehm's GC web site
ttp://www.hpl.hp.com/personal/Hans_Boehm/gc/
・X-32 DOS Extender
ttp://www.dotender.com/
・STLport
ttp://www.stlport.org/
・STLSoft
ttp://synesis.com.au/stlsoft/
・Unofficial Digital Mars Compiler Site
(非公式サイト?)
ttp://pysmatic.com/digitalmars/

67 :03/07/12
http://life.fam.cx/a005/

68 :03/07/12
http://homepage.mac.com/miku24/

69 :03/07/13
>>66
thx
あんまり日本は情報が出てないのかな。

70 :03/07/13
>>69
せっかくだから君がなんか日本語情報ページ書いてけれ。

71 :03/07/14
>>70
面白そうですね。
でも必要な情報ってなんでしょう。

72 :03/07/15

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

73 :03/07/23
beta 8.35.5

74 :03/07/23
http://homepage.mac.com/hiroyuki44/

75 :03/07/28
メモ帳作ってみたいんだが公式のどこを読めばいいの?

76 :03/08/02
(^^)

77 :03/08/15
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

78 :03/08/17
うはぁ寂れてる(ノД`)・゚・。
Win32GUIなプログラムをコンパイルしてみたらGetStockObjectがリンク
できないエラーが出た。
PlatformSDKの最新版もってきて入れないとダメなのかな?

79 :03/08/17
>>78
# CD版+PSDK入れてるから確認はしてないけど…
Win32APIを使うときはライブラリを明示的に指示する必要があるようです。
dm\GDI32.lib にGetStocckObjectが入っているので
dmc -WA -L/subsystem:windows hoge.c gdi32.lib
の様にすれば、うまくいくと思います。

80 :03/08/17
>>79
こんな時間にレスありがとうございます。
-l gdi32.dllってしてたのが悪かったってかドキュメントちゃんと読もう…。

81 :03/08/19
DMCでDLLってどうやって作ればいいんだろう。
dmc -WD -L/SU:WIN hoge.cpp hoge.def
とかやってもエラー出てexe作られてるし…。

82 :03/08/20
>>81
exeファイルができるってことは hoge.def の内容が間違っているのでは?
とりあえず、「猫でもわかるプログラミング」のサンプルをコンパイルしてみると
ttp://www.kumei.ne.jp/c_lang/sdk2/sdk_119.htm
1. DLLとインポートライブラリを作成
C:\hoge>dmc -WD -L/implib dll01.cpp kernel32.lib gdi32.lib
  * DLLを作るときは user32.lib、kernel32.lib も含めて必要なライブラリを明示する。
  * OPTLINKの/IMPLIBオプションまたはimplib.exeでインポートライブラリを作成する。
2. 実行ファイルの作成
C:\hoge>dmc -WA -L/su:win test01.cpp gdi32.lib dll01.lib
  * -WA -L/SU[BSYSTEM]:WIN[DOWS] でWin32 ウィンドウアプリケーションを作成。
  * GDI関係の関数を使っているので gdi32.lib をリンクする。
  * 1.で作ったインポートライブラリをリンクする。
  * user32.lib、kernel32.lib は自動的にリンクされる。
.def ファイルの書式は上の例で自動的に作成される dll01.def や
オンラインマニュアルを参考にして下さい。
ttp://www.digitalmars.com/ctg/ctgDefFiles.html

83 :03/08/20
DirectXは?OpenGLは?

84 :03/08/20
>>82
ありがとうございました。
ご指摘の通りdefの書式が間違ってました。

85 :03/08/20
>>83
DirectX
ttp://www.digitalmars.com/faq.html#directx
OpenGL
ftp://ftp.microsoft.com/Softlib/MSLFILES/OpenGL95.exe
ただし、どちらもcoff2omf.exeが必要。

86 :03/08/20
>>83
DirectX7だけど
ttp://fancyrara.ddo.jp/program/DMC/DMC.html

87 :03/08/20
coff2omfはDMのサイトだとshareware扱いになってるがBCCについて
なかったっけ?
DMのFTPのぞいたらあったけどさ。

88 :03/08/31
COFF形式が扱えるOpenWatcomのwlinkを使って
MSのライブラリと直接リンクさせる方法もある。
ttp://cmeerw.org/prog/owtools/

89 :03/08/31
今更だけど Version 8.35 age
コンパイラ(scppn)のバージョンは 8.35.10n
今回はコンパイラドライバもVer Upして 8.35n になってる。

90 :03/09/10
8.36 リリース age
主にBoostと 8.35での問題点を修正
あとwxWindows関係でnewsgroupから
> C:\wx\wxWindows\samples\minimal>scppn
> Digital Mars C/C++ Compiler Version 8.36.1n
> Copyright (C) Digital Mars 2000-2003. All Rights Reserved
>
> This version compiles wxWindows library and minimal sample from CVS
> (head and 2.4 branch) with no bugs

91 :03/09/23
阿呆らしい質問かも知れませんが教えて下さい。
STLを使ったWin32Appを作ろうと思って
#include <windows.h>
#include <string>
としたのですがコンパイルできません。
同一のソースをBCCでコンパイルしてみると通るのですが何か間違ってる部分
がありますでしょうか?
8.36にSTLPortを使うようにしてあります。

92 :03/09/23
>>91
どこで、どのようなエラーが出てコンパイルできないのか
具体的に書いてもらわないと答えようがないのですが・・・。

93 :03/09/23
は、そうでした申し訳ありません。
例えば
#include <windows.h>
#include <iostream>
int main(void){
std::cout << "test" << std::endl;
return 0;
}
をコンパイルしようとすると
_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedIncrement(long*);
^
d:\dm\bin\..\stlport\stlport\stl/_threads.h(122) : Error: 'InterlockedIncrement'
previously declared as something else
It was declared as: long __import (__import std func)(long volatile *)
It is now declared: long __import (__import std func)(long *)
_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedDecrement(long*);
^
d:\dm\bin\..\stlport\stlport\stl/_threads.h(123) : Error: 'InterlockedDecrement'
previously declared as something else
It was declared as: long __import (__import std func)(long volatile *)
It is now declared: long __import (__import std func)(long *)
_STLP_IMPORT_DECLSPEC long _STLP_STDCALL InterlockedExchange(long*, long);
^
d:\dm\bin\..\stlport\stlport\stl/_threads.h(124) : Error: 'InterlockedExchange'
previously declared as something else
It was declared as: long __import (__import std func)(long volatile *,long )
It is now declared: long __import (__import std func)(long *,long )
--- errorlevel 1
となります。

94 :03/09/24
>>93
DMCでSTLportを使うときは
  C> dmc -IC:\dm\stlport\stlport test.cpp
のように-I オプションでSTLportをインストールしたディレクトリを指定するか、
sc.ini の「INCLUDE=」にSTLportをインストールしたディレクトリを
 "%@P%..\include", "%@P%\..\stl"よりも前に 追加してください。
(この場合 -IC:\dm\stlport\stlport は不要)
また、標準でついてくるSGIのSTLを使わないのであれば
"%@P%\..\stl" の部分は削除してもかまわないでしょう。
INCLUDE="%@P%\..\include";"%@P%\..\mfc\include";"%@P%\..\stl";%INCLUDE%
   ↓
INCLUDE="%@P%\..\stlport\stlport";"%@P%\..\include";"%@P%\..\mfc\include";%INCLUDE%

95 :03/09/24
>>94
sc.iniのINCLUDEはこうなっているのですが…。
INCLUDE="%@P%\..\stlport\stlport";"%@P%\..\include";"c:\Program Files\Microsoft SDK\include";%INCLUDE%

96 :03/09/24
>>95
Platform SDKを使っているのなら
stlport\stlport\stl_user_config.hの184行目辺りにある
// #define STL_NEW_PLATFORM_SDK 1
の前にあるコメントを外して STL_NEW_PLATFORM_SDK
の定義を有効にしてみて下さい。

97 :03/09/24
>>96
あああ、いけました(ノД`)・゚・。
ありがとうございました。

98 :03/09/30
wxWindowsを使ってみようとインストールしたら
..\..\lib\wx_sc.lib(dataobj)
Error 42: Symbol Undefined _IID_IDataObject
とか言われてコンパイルできない…。
8.37.3 beta入れたらwxライブラリのコンパイル中にエラーが出るようになっちゃったし……。
wxVariant variant( wxString( (wxChar*) (data->GetValue().Nth(idx)->Data()) ));
                             ^
..\..\src\common\variant.cpp(1866) : エラー: ')' でなければならない
ってどういうことなの? (つД`)

99 :03/10/06
DMCでWin32アプリを作っていたのですが、ダイアログボックスの色が
真っ白になってしまうのはなんとかならないのでしょうか?
試しにBCCでやってみたらきちんとダイアログの色になってたので、DMC
特有だと思うのですが…。
環境はbeta8.37+PlatformSDKです。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
OpenWatcom C++ (709)
おまいら最強の麻雀プログラムしてみろよ Part5 (524)
【ActionScript3】Webツールを作ろう【GPL】 (142)
JavaScriptスレ2 (316)
OpenWatcom C++ (709)
D言語 Part29 (116)
--log9.info------------------
【毎月12日発売】まんがタイムジャンボ 6【芳文社】 (197)
【とびだせ】小笠原朋子を語ろう!四坪目【ゆなさな】 (845)
livedoorデイリー4コマ新人賞Y-1グランプリ 37 (815)
美水かがみ 「らき☆すた」 38 (428)
【蝴蝶酒店】板倉梓【ホテル・ウーデップ】 (875)
【プクポン 】むねきち【まーぶるインスパイア】 (490)
【はとがいる】 てっけんとう 【うちのざしきわらしが】 (167)
【ほんわら】本当にあった笑える話【べつわら】 (532)
いしいひさいちの面白さは異常 (677)
岩谷テンホーのみこすり半劇場 (327)
落花流水(真田一輝作品総合) 5張目 「インプロ!」 (349)
平つくね その2【ラッキー・ブレイク】 (109)
【そこぴんふーふー】佐藤両々 13【ダンス顛末記】 (213)
【うず】炊飯器少女コメコ【ジャンボ・ホーム】 (101)
長月みそか【HR~ほーむ・るーむ 】 (607)
まんがライフWIN・まんがタイムWAVE・日刊漫画サーチフィールド 2 (302)
--log55.com------------------
【ハンギョレ新聞】 植村隆 「私は捏造記者ではない」 [07/03]
【文大統領】日本社会で重要な役割を果たす在日同胞を招待し晩餐会 「いつも、共にある」祖国に対する変わりない関心と声援を要請[6/28]
【韓国】日本の商業捕鯨再開に「深刻な憂慮」 韓国当局が「われわれの水域のクジラ資源に影響を及ぼしてはならない」声明[7/1]
【韓国】 安倍首相の強硬姿勢・・・「韓国たたき」で極右層の結集狙う
【韓国】「日本の輸出規制は不当 産業通商資源省幹部[7/1]
【🐶】韓国で有名大学のマスコット犬が出入り業者の晩飯に…肉食の最新事情を探る
【国内外/市民団体/労組メンバー】「G20やめろ」と集会やデモ 市民団体など約200人が気勢上げる[6/28]
【川崎市】ヘイト禁止条例に賛否 舛添氏は「賛成」百田氏は「恐怖の条例」[6/25]