"Code of the Nerds" Digital Mars C/C++
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGWin32からDOS, WanderWitch用アプリまで作れる DMC
でも日本ではWanderWitch関連以外の情報がほとんどない DMC
そんなDMCについて語り合いましょう。
WanderWitch関係の話題も大歓迎です。
公式HP:
http://www.digitalmars.com/
関連スレ:
D言語ドラフト一応読んだよ
http://pc2.2ch.net/test/read.cgi/tech/1003674814/l50
0002デフォルトの名無しさん
NGNG( ´∀`)< ぬるぽ
0003デフォルトの名無しさん
NGNG00041
NGNG0005名無しさん@Emacs
NGNG0006デフォルトの名無しさん
NGNG間違ってます。その言い方だと、正式版や製品版があるみたいだけど
DMCは正式版がフリーです。
0007名無しさん@Emacs
NGNGあら、そうなんだ。
たまたま今公開されてるのがテストバージョンって事なんですな。thx!
0008デフォルトの名無しさん
NGNG公開されているわけじゃないですよ。
つか、以前は次バージョンのbeta版なんて公開されていなかった。
0009デフォルトの名無しさん
NGNGこれはフリーで配布されてるコンパイラに加えて
IDEやMFC、ライブラリのソースが含まれてるもので
コンパイラ自体はどちらも同じ。
以前注文したら段ボールに包まれた火星柄のCDが
手書きの宛名で送られてきた。
0010デフォルトの名無しさん
NGNGブラリはどうやって作るの?
ふつーに implib で作ったら @n の部分が落ちたインポートライブラリが作られて、
リンクできなかった。
0011デフォルトの名無しさん
NGNG普通にimplibで出来るような気がするが…。
defファイルでエクスポート名を付け間違えてない?
0012デフォルトの名無しさん
NGNGusing namespace std;
以上が受け付けなかったのですが、仕様が古いコンパイラですか?
0013デフォルトの名無しさん
NGNGSTLport を入れると使えるようになります。
001412
NGNGソースをコンパイルしなさいってこと?・・・。(;;)
0015C++厨
NGNG0016デフォルトの名無しさん
NGNGdigitalmars.com にDMC用のSTLport 4.5.3 が置いてあります。
コンパイル済みのライブラリも入ってます。
使い方は dm\stlport\readme.txt 参照のこと。
001712
NGNGさっぱりわかりません。
ですからSTLportのバイナリを作れません (;;)
0018裕美子 ◆SMenjtDUeo
NGNG今、インフルエンザで出校停止です。
0019裕美子 ◆SMenjtDUeo
NGNG0020デフォルトの名無しさん
NGNGあの〜、自分でバイナリを作らなくても使えるんですけど…。
簡単にインスト方法を説明すると、
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/
002112
NGNGありがとうございました。sc.iniの書き方がわからないので
そのままコピーしてコンパイルしてみました。しっかり成功しました。
しかし。。。。
フリーのBCCコンパイラと比べると、生成された実行ファイルのサイズが
3倍ほどデカいのです。-oのオプションもつけましたが・・・。
こんなものですかね。
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG300KBを超えますね。
CやSTLportを使わないC++だと、かなりサイズが小さくなるんですが…。
ところで Digital Mars ってどういう団体(?)なんでしょうか?
Walter Brightが個人でやってるのかな?
0024デフォルトの名無しさん
NGNG00279
NGNG私はPaypalを使って注文しました。
申し込んでから2週間くらいでCDが到着したと思います。
ちなみにCDの中身はインストーラなどはなく、
\dm以下に全てのファイルがディレクトリ構造ごと入っていて
まるごとHDDにコピーして使うようになってました。
0028営農ギコMC ◆cJTGtEIXl.
NGNGサンクス。
漏れもDMCのCD( ゚д゚)ホスィんだけど、Credit Card 持ってないもんで・・・。
とりあえず彼らに連絡してみる。
0029デフォルトの名無しさん
NGNGttp://www.cafepress.com/digitalmars
0031デフォルトの名無しさん
NGNGと思って調べたら、ドキュメントはあるね。
ftp.digitalmars.com/Digital_Mars_C++/Doc/*.zip
なんか古いけど・・・とりあえずここのまま使えるみたい。
Webサイトの方にはなんも書いてないのは何故?
0032デフォルトの名無しさん
NGNGttp://digitalmars.com/ctg/ctg.html
こっちもまとめてDLできるようにしてホスィ・・・
0033デフォルトの名無しさん
NGNGちょっと残念。
0034デフォルトの名無しさん
NGNG> 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
0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNG是非D言語スレを盛り上げてくれ。いやマジで。
http://pc2.2ch.net/test/read.cgi/tech/1003674814/
0037デフォルトの名無しさん
NGNG今回の変更点は細かなバグフィックスが中心。
しかし盛り上がらんなぁ。
やっぱり人気無いのかな…。
0038デフォルトの名無しさん
NGNG0039営農ギコMC ◆cJTGtEIXl.
NGNGcoff2omf って既に Shareware 扱い・・・。゜д゜)鬱死・・・
まぁ、前あったやつでも十分使えるし、CD 買えば付いてくるだろうし。
0040デフォルトの名無しさん
NGNGわしは DOS 用のバイナリ作るのに使ってるぞ。
しかし、Watcom と違って、この扱いの小ささは謎だな。
元 Symantic(Zortech) C/C++ であってるよな!
0041デフォルトの名無しさん
NGNGftpからダウンロードしていたので気づかなかった
>>40
まあWatcomはオープンソース化ということもあるし
0042デフォルトの名無しさん
NGNGまあ、俺はCD買ったから関係ないけど。
0043デフォルトの名無しさん
NGNGていうか、STLSoft って何ですか?
日本語の情報が見つからない…。
0044デフォルトの名無しさん
NGNGと思ったけど違っターーー!
ttp://synesis.com.au/stlsoft/
よくnewsgroupなんてチェキしてるね。>>43
0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNGパーには勝ってグーには負ける。
というか板違いだゾ(w
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNG0049山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNG8.33 からの主な変更点は:
・template, enum, 〜?〜:〜 の修正
・大きなスタック・フレームに対する問題の修正
・インライン・アセンブラの movq2dq のオペランド(?)が逆になっていたのを修正
・swprintf/vswprintfの引数をC99の仕様に合わせて変更
・インライン・アセンブラにfeni, fneni, fdisi, fndisiを追加
・-A オプション(ANSI C/C++互換)使用時のstdlib.h, string.hの問題点を修正
0055デフォルトの名無しさん
NGNGobj2asmは有料になっちゃったから、フリー版では事実上 -cod が使えないね…
*.objからリストファイルを作るだけなら OpenWatcom の wdis.exe で出来るよ。
0056山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG| _ |/ ̄ ー── | | | / | | /
|/ \ / ー── | | | \ | | /^ヽ
| ├ ー-、| | ̄ ̄| ヽ' レ  ̄ ̄ \ ヽ' / \丿
_/ O- ノ \__  ̄ ̄
ー┼── | | | ─|─ | | |
| ー─ | │ |/ ̄
| \_ | | (___
_,,. -─‐- .,,_ _,,. -─‐- .,,_
|_____ ___l ┌───┐│___ │
┌─┘ └─┐└─┐ │ │ │
└─┐ ┌─┘ l二二. │ │ │
! ,! ┌─┘ │┌──┘ │
└─' . └───┘└────┘
___|  ̄ |_○,○ | ̄ ̄ll ̄ ̄|
|__ __|┌──┐| l.l |
,'⌒',│ │,'⌒', l_______l.l l | !_,. ィ
! l│ │! l l ,' | ,!
ゝ_ノ│ │ゝ_ノ |__/. !、_,,. ‐'
.  ̄
0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG何かオプションの指定が必要なのかな。
0061デフォルトの名無しさん
NGNGどんなエラーが出たのか書かないと、答えようがないぞ。
普通は
> dmc hoge.c
でコンパイル出来るが、実行するときにコンソールが開く。
(コンソールアプリではない)Windowsプログラムを作るときは
> dmc -WA -L/SU:WIN hoge.c
0062デフォルトの名無しさん
NGNG何らかの形でDbCつかえるの?
int func(int a)
{
__in
{
}
__out(int result)
{
}
__body
{
}
}
こんなん。
0063デフォルトの名無しさん
NGNGhttp://www.digitalmars.com/ctg/designbycontract.html
int func(int a)
__in
{
}
__out(result)
{
}
__body
{
}
0064デフォルトの名無しさん
NGNG今回はBug Fixのみ
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG・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.dosextender.com/
・STLport
ttp://www.stlport.org/
・STLSoft
ttp://synesis.com.au/stlsoft/
・Unofficial Digital Mars Compiler Site
(非公式サイト?)
ttp://pysmatic.com/digitalmars/
0067O塚
NGNG0068無料動画直リン
NGNG0069デフォルトの名無しさん
NGNGthx
あんまり日本は情報が出てないのかな。
0070デフォルトの名無しさん
NGNGせっかくだから君がなんか日本語情報ページ書いてけれ。
0071デフォルトの名無しさん
NGNG面白そうですね。
でも必要な情報ってなんでしょう。
0072山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0073デフォルトの名無しさん
NGNG0074_
NGNG0075デフォルトの名無しさん
NGNG0076山崎 渉
NGNG0077山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0078デフォルトの名無しさん
NGNGWin32GUIなプログラムをコンパイルしてみたらGetStockObjectがリンク
できないエラーが出た。
PlatformSDKの最新版もってきて入れないとダメなのかな?
0079デフォルトの名無しさん
NGNG# CD版+PSDK入れてるから確認はしてないけど…
Win32APIを使うときはライブラリを明示的に指示する必要があるようです。
dm\GDI32.lib にGetStocckObjectが入っているので
dmc -WA -L/subsystem:windows hoge.c gdi32.lib
の様にすれば、うまくいくと思います。
0080デフォルトの名無しさん
NGNGこんな時間にレスありがとうございます。
-l gdi32.dllってしてたのが悪かったってかドキュメントちゃんと読もう…。
0081デフォルトの名無しさん
NGNGdmc -WD -L/SU:WIN hoge.cpp hoge.def
とかやってもエラー出てexe作られてるし…。
0082デフォルトの名無しさん
NGNGexeファイルができるってことは 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
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGありがとうございました。
ご指摘の通りdefの書式が間違ってました。
0085デフォルトの名無しさん
NGNGDirectX
ttp://www.digitalmars.com/faq.html#directx
OpenGL
ftp://ftp.microsoft.com/Softlib/MSLFILES/OpenGL95.exe
ただし、どちらもcoff2omf.exeが必要。
0086デフォルトの名無しさん
NGNGDirectX7だけど
ttp://fancyrara.ddo.jp/program/DMC/DMC.html
0087デフォルトの名無しさん
NGNGなかったっけ?
DMのFTPのぞいたらあったけどさ。
0088デフォルトの名無しさん
NGNGMSのライブラリと直接リンクさせる方法もある。
ttp://cmeerw.org/prog/owtools/
0089デフォルトの名無しさん
NGNGコンパイラ(scppn)のバージョンは 8.35.10n
今回はコンパイラドライバもVer Upして 8.35n になってる。
0090デフォルトの名無しさん
NGNG主に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
0091デフォルトの名無しさん
NGNGSTLを使ったWin32Appを作ろうと思って
#include <windows.h>
#include <string>
としたのですがコンパイルできません。
同一のソースをBCCでコンパイルしてみると通るのですが何か間違ってる部分
がありますでしょうか?
8.36にSTLPortを使うようにしてあります。
0092デフォルトの名無しさん
NGNGどこで、どのようなエラーが出てコンパイルできないのか
具体的に書いてもらわないと答えようがないのですが・・・。
0093デフォルトの名無しさん
NGNG例えば
#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
となります。
0094デフォルトの名無しさん
NGNGDMCで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%
009591
NGNGsc.iniのINCLUDEはこうなっているのですが…。
INCLUDE="%@P%\..\stlport\stlport";"%@P%\..\include";"c:\Program Files\Microsoft SDK\include";%INCLUDE%
0096デフォルトの名無しさん
NGNGPlatform SDKを使っているのなら
stlport\stlport\stl_user_config.hの184行目辺りにある
// #define STL_NEW_PLATFORM_SDK 1
の前にあるコメントを外して STL_NEW_PLATFORM_SDK
の定義を有効にしてみて下さい。
0098デフォルトの名無しさん
NGNG..\..\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) : エラー: ')' でなければならない
ってどういうことなの? (つД`)
0099デフォルトの名無しさん
NGNG真っ白になってしまうのはなんとかならないのでしょうか?
試しにBCCでやってみたらきちんとダイアログの色になってたので、DMC
特有だと思うのですが…。
環境はbeta8.37+PlatformSDKです。
0100デフォルトの名無しさん
NGNG本家のFAQにのっているものではないでしょうか?
http://www.digitalmars.com/~arjan/
違ってたらすいません。
0101デフォルトの名無しさん
NGNG文字化けしちゃうのですが、いかがいたしましょう?
■ このスレッドは過去ログ倉庫に格納されています