1read 100read
2012年3月プログラム263: "Code of the Nerds" Digital Mars C/C++ (344) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【コメント】doxygen【コンソメ】 (489)
OpenWatcom C++ (709)
正規表現 Part9 (714)
NetBeans Part6 (694)
リファクタリングをただのコード修正と思ってる人へ (267)
フリーの.NET統合開発環境「SharpDevelop」2 (258)

"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元 削除依頼
【アンチ】関数型言語は使えない【玩具】 2 (226)
【O3D】HTML5用 3D API WebGL 【Canvas:3D】 (367)
【ツール】 フレームワーク作成スレ 【ライブラリ】 (152)
Kinect ハック (937)
【独学】一人で勉強する奴らのスレ【自習】 (376)
おまいら最強のシストレFXプログラムをしてみろよ (391)
--log9.info------------------
さだまさしは過小評価されすぎていると思う人の数→ (248)
■■世界1の糞スレを目指すスレ■■ (214)
■ 過去ログのhtml化2 (529)
とりあえず昔板の名無しを決めよう (210)
●子供時代の洋服=イジメ・イタズラ・辛かった事● (333)
若い頃よく聴いていて今聴くと何故か切なくなる曲 (549)
ちーっすwwwww昔のVIPを再現しまーすwwww (172)
自販機のハンバーガーと自販機のそば・うどん (294)
2030年のやつらが22年前を懐かしむスレ (470)
昔の流行語、若者言葉を語るスレ (293)
町田の昔 (271)
こんな板あったんだ…今日知ったよ。 (155)
昔好きだった歌手・歌手グループ (330)
【思い出】武里団地に住んでた人【1街区3号棟】 (497)
昔学校で歌った曲をあげていくスレ (126)
昔板のロゴつくろ (117)
--log55.com------------------
【初心者も】ルアーでメバル釣り93【気軽に】
【ユビクリリダクリ】ノットすれ part4【電車でGo!】
うなぎ∈(゚◎゚)∋釣り、ウナギ捕り 59本目
【ライトタックル】ちょい投げ【キス】 2
【釣り限定】テナガエビ釣り 2018 【網・罠禁止】
【リール】ステラPart36【シマノ】
【初心者でも】エギングPart81【上級者でも】
【3`】最強のエギングロッドはこれだ★27【6`】