2014年8月22日金曜日

OpenWatcom C++

1 :デフォルトの名無しさん:02/10/01 09:55
IDE やプロファイラまでついてくるフリー最強の C++ コンパイラ
Watcom C++ について語りませう。

一応、こちらから入手できます。
難点はちょっと大きい事(45MB)です。
http://www.openwatcom.org/

11 :デフォルトの名無しさん:02/10/01 16:41
VC やりたきゃ VC 買えよ。

15 :デフォルトの名無しさん:02/10/01 17:43
>VC やりたきゃ VC 買えよ。
ハァ?

50 :デフォルトの名無しさん:02/10/11 04:03
何処よ?あどれすきぼんんぬ

51 :デフォルトの名無しさん:02/10/11 11:57
>>50
http://www.openwatcom.org/

漏れもファイル落としてインストールしてみたけど、
パスの設定とかが分からなくて結局戻したという未熟さ…(TдT)
win32apiのヘッダファイルとか、思いっきりエラーだし…もうだめぽ…


91 :デフォルトの名無しさん:02/12/10 01:20
WatcomってOMF?COFF?

93 :91:02/12/11 01:46
そりゃ残念。bccやDigitalMarsとの互換性は
あるのかな?
ナローな為落とすの辛いからレポートキボン。

94 :デフォルトの名無しさん:02/12/11 02:18
>>93
リンカはCOFFもOMFも読めるので、Borland C++とかSymantec C++(DigitalMars)の.OBJをリンクさせることは可能。


140 :デフォルトの名無しさん:03/01/11 22:59
> This binary patch is available free of charge to existing Watcom C/C++ and
> Fortran customers and includes all updates and bug fixes developed by Sybase
> since the last commercial update of the product (11.0b).
11.0cは製品版のユーザーなら無料で利用可能
フリー(Open Watcom Public License)になるのは Open Watcom から
ということか。

Open Watcom 1.0beta入れてみたけど 'ied.cfg' が無いといわれてIDEが使えない…。
コマンドライン・コンパイラでcharacter-modeの実行形式はコンパイルできた。
-zk0 オプションを付ければ日本語(Shift-JIS)も通るみたい。
なにげにリンカが日本語メッセージ出してるし、結構いけそう。

179 :デフォルトの名無しさん:03/02/08 14:45
VisualC/C++ ・・・女のコンパイラ
gcc      ・・・餓鬼のコンパイラ
Watcom   ・・・漢のコンパイラ

230 :デフォルトの名無しさん:03/06/16 00:13
フリーである狙いは?

234 :デフォルトの名無しさん:03/06/29 11:15
これ使ってC/C++勉強してみようかな。

235 :デフォルトの名無しさん:03/06/29 11:52
>>234
このコンパイラ、準拠してる規格が古いので注意するべし。

289 :デフォルトの名無しさん:03/08/31 01:24
これって何か作ろうとすると結局CD買うかMSDN購読しないとだめなんだよね

300 :300:03/09/05 21:19
きたー!

307 :デフォルトの名無しさん:03/09/12 01:21
実行したら
逝って佳って力いっぱい表示するウィンドが出て、マウスでクリックしたら窓消して終了するプログラムのソースクレ


308 :デフォルトの名無しさん:03/09/12 06:35
>>307
そのぐらい自分で作りたまえ。チミ。

320 :デフォルトの名無しさん:03/09/13 13:00
SDKってなんでつか?

327 :デフォルトの名無しさん:03/09/13 20:24
それでWIんどwsのSDKってどこで拾えるんだよ

328 :デフォルトの名無しさん:03/09/13 20:35
>>327
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm

329 :デフォルトの名無しさん:03/09/13 22:09
>328
みれない
Welcome to SDK Update The Microsoft® Platform SDK site requires Microsoft Internet Explorer version 5.0 or later. You can download the latest Internet Explorer for free.

In addition, Microsoft ActiveX® controls are used to install components on your computer. If you are not running Microsoft Windows® or an operating system that is compatible with ActiveX controls, you cannot install the SDK using SDK Update.


334 :デフォルトの名無しさん:03/09/13 23:59
かねありません。

プロバイダも未払いなので18日でとまりまつ


335 :デフォルトの名無しさん:03/09/14 00:23
>>334
C++やりたきゃ、EclipseにC++プラグイン入れて作っちまえよ。
Eclipseはオープンソースなのでただでできるぞ。



339 :デフォルトの名無しさん:03/09/14 11:25
昔はgccも
「メーカー純正コンパイラより質のいいコードを吐く」
とか言われてて、俺もDOS上でDJGPPとWatcom (+dos4gw)使ってたけど
今は両者の最適化具合はどんなもんなんだろう?

Intel > VC++ > DigitalMars > OpenWatcom > GCC > Borland
こんな感じかな?

345 :デフォルトの名無しさん:03/09/15 16:49
おい、OpenWATCOMのCD-ROM自体はピーコ禁止?譲渡禁止?


346 :デフォルトの名無しさん:03/09/15 17:03
>>345
CDにはMS製SDKの他に商用のツールも含まれているので禁止。

370 :デフォルトの名無しさん:03/09/17 15:19
> 最適化、最適化いうけどその効果はちゃんと測定してる?
>いくらコンパイラがかしこかっても君のウデがだめだとだいなしだよ

お前理解していないだろ。
駄目プログラマでも秀才プログラマでもバイナリの実行時間が大差ないのが良い最適化コンパイラだよ。

FORTRANの例でいうなら、添え字の順番と入れ子の制御変数との関係なんかを
最適にするわけだ。無意味にループ内に存在する計算をループ外へ出すわけだ。


372 :デフォルトの名無しさん:03/09/17 19:12
>>駄目プログラマでも秀才プログラマでもバイナリの実行時間が大差ないのが良い最適化コンパイラだよ。

そんなコンパイラがあったとすれば、ソースと実際の処理が一致しないケースが出てくるだろう。
なぜなら、駄目プログラマが書いたソースと秀才プログラマが書いたソースでは基本的なアルゴリズムから違うのだから。
また、秀才プログラマはデータの性質も考慮して、一般的には遅いと思われるアルゴリズムを採用する事もあるだろう。

それらを同等にそのコンパイラにかければ、駄目プログラマが書いたプログラムは改善されるかもしれないが、秀才プログラマが書いたプログラムは改悪されてしまう事もある。

そして、一番の問題はデバッグ。そのコンパイラが吐き出したプログラムはソースとは全く違う処理が行われてしまう可能性があるため、出力されたプログラムを解析しなおす必要がある。
これでは非常に効率が悪い。

良い最適化コンパイラは、駄目ソースからは少しはまともな性能のコードが、良いソースからはより良い性能のコードが得られるコンパイラだと思うがどうだろうか?


373 :デフォルトの名無しさん:03/09/17 20:24
>>372
デバッグするときは最適化オプションを外しなさい、
っておばあちゃんに教わらなかったの?

375 :デフォルトの名無しさん:03/09/17 22:50
>>373
デバッグが終わってリリース版として最適化オプションつけた後にもバグが出る事はある。


376 :デフォルトの名無しさん:03/09/17 23:17
>>375
そーゆー場合もバグ報告してくれ。

ところで、
> デバッグが終わってリリース版として最適化オプションつけた後にもバグが出る事はある。
って OpenWatcom とか 旧Watcom での話なんすか?

377 :デフォルトの名無しさん:03/09/17 23:28
>>376

上に挙げたのは>>370に出てくる良い最適化コンパイラがあったとしての例えの話。

384 :デフォルトの名無しさん:03/09/18 01:16
おれの欲しい最適化はそんな、そんな複雑なもんじゃないんだ
もっと「これはひどいよ、WATCOM君クスンクスン」と嗚咽してしまう
単純なものなんだ

x = y = z:;

とあったら、なにも考えずに
mov reg,[z]
mov [y],reg
mov [x],reg
とやってくれよ・・・2回もzをregに入れるんじゃねぇ!!わかったか糞!

392 :デフォルトの名無しさん:03/09/18 13:01
390ではないですが、OpenWatcomはまだつかったことないけれどWatcom11.0Jの時に
2〜3回最適化オプションで変な動作をするようになったことがありました。ディスアセンブル
したソースみながら問題ないような記述に変更した記憶があります。

ところで、職業プログラマでなくても、いろいろなCのなかからわざわざWatcomC
使うような人ならどのオプションがどんな働きをするかは知ってそうな気がするので
すが、そんなこともないのかな。

414 :デフォルトの名無しさん:04/01/17 03:25
どうでもいい事なのだが・・・

exeからインストールしたファイルと、zipを展開した
ファイルでタイムスタンプが違ってしまうのな。
zipが+9:00になる。

多分wise(インストーラ)がタイムゾーンを考慮してない
為だろうけど、しょうもないなぁ

419 :デフォルトの名無しさん:04/01/22 09:18
watcomを使う人は、IDEを使うタイプの人とは思えない

426 :デフォルトの名無しさん:04/03/04 20:24
さびれてるのでageついでに。
OpenWatcomのリンカってPlatformSDKやDirectX8以降(?)で使われてる
新しいCOFFフォーマットに対応してるのかな?
Webを一通り見たけどのってなかったので誰か教えて。

427 :Watcomer:04/03/04 20:58
>426
お!オレの出番だな!


Watcomリンカは、オブジェクトファイルとライブラリファイルを入力とし、実行可能ファイルを出力として作成するリンケージエディタ(リンカ)です。Watcomリンカは以下のオブジェクトモジュール フォーマットおよびライブラリ フォーマットをサポートしています。


キ標準Intelオブジェクトモジュール フォーマット(OMF)
キIntel標準OMFに対するMicrosoftの拡張
キ80386アプリケーションをリンクするためのPhar LapのEasy OMF-386オブジェクトモジュール フォーマット
キCOFFオブジェクトモジュール フォーマット
キELFオブジェクトモジュール フォーマット
キOMFライブラリ フォーマット
キAR(Microsoft互換)オブジェクトライブラリ フォーマット

お前らが欲しがってる日本語ヘルプより。

431 :デフォルトの名無しさん:04/03/05 21:44
そんなことしなくてもCoCreate系使えばリンカ必要ないじゃないか

432 :デフォルトの名無しさん:04/03/06 14:03
>>431
ん?なんでそれでリンカいらないのかわからん…。
猿以下のミジンコにもわかるように教えて下さい。


434 :デフォルトの名無しさん:04/03/06 21:40
>>432
comの仕組み・・・

443 :デフォルトの名無しさん:04/03/11 21:26
DOS用なら KI-Make はどうでしょうか?
http://www.vector.co.jp/vpack/filearea/dos/prog/make/index.html

444 :デフォルトの名無しさん:04/03/12 01:07
>>443
これ知らなかった。これから試します。
あんがとー

456 :デフォルトの名無しさん:04/04/22 06:33
これでVCというプラットフォームは扱えますか?

465 :デフォルトの名無しさん:04/08/23 20:15
OpenWatcom 1.3 出現。



470 :デフォルトの名無しさん:04/08/31 19:30
OpenWatcomのソースはOpenWatcomでビルドするに決まってるだろ

472 :デフォルトの名無しさん:04/08/31 23:25
>470
もうすこし詳しく教えて。
wpjファイルが、サンプルプログラムのしかなかった

474 :デフォルトの名無しさん:04/10/04 23:13:31

OpenWatcom C++って、関数リファレンスは付いていますか?

フリーのC/C++コンパイラで関数リファレンス・ヘルプが充実してるのってないですかね。

491 :デフォルトの名無しさん:2005/05/16(月) 23:54:58
IDEのスクリーンショットが見たい。

507 :デフォルトの名無しさん:2005/10/15(土) 10:47:16
Watcom C++ Ver11.0 の質問で申し訳ないのですが、

hwTrTest = CreateWindow(TRACKBAR_CLASS,"",
WS_CHILD | WS_VISIBLE | TBS_AUTOTICKS,
18,100,200,32,hwnd,(HMENU)IDC_TR_TEST,hInst,NULL);

として生成するとトラックバーの背景が白いのです。
ウインドウのクライアント領域は灰色なので色が合わずに困っています。
試しにVC6で同じコードをビルドするとトラックバーの背景は灰色になりました。
WatcomC++でも灰色にする方法はないでしょうか?

508 :デフォルトの名無しさん:2005/10/15(土) 16:57:43
>>507
リンカのオプションではないでしょうか。
RU WIN=4.0を付けてみては?


520 :デフォルトの名無しさん:2005/12/23(金) 20:55:18
OpenWatcomと旧Watcomをプリプロで区別したいんだけど
__WATCOMC__
__WATCOM_CPLUSPLUS__
みたいな定義ってあるの?

526 :デフォルトの名無しさん:2006/01/09(月) 22:41:13
Win XPの上でですが1.4のIDE, デバガ, リソースエディタを
日本語風にしたものを作ってみました.
ftp://157.118.89.2/pub/windows/IDE/OpenWatcom/WatcomSet.html
をご覧ください


534 :デフォルトの名無しさん:2006/05/15(月) 12:57:43
IDE接続のHDDにDMAにてセクタを書き換えたいのですがまだ上手くできません・・・。
DOS-32BIT(CauseWay Executable)としてコンパイルしています。
この場合でもmallocしたメモリのアドレスをそのままDMA転送用のアドレスとして
I/O レジスタに登録しても大丈夫なのでしょうか?
物理アドレスに変換する必要とかはないでしょうか?
mallocにて確保したアドレスは4MBを少し超えたところになります。

I/Oレジスタへ確保したアドレスを登録しても、HDDにはアドレス0以降の内容が
書き込まれてしまいます。


535 :デフォルトの名無しさん:2006/05/15(月) 21:46:09
>>534
CauseWayは仮想メモリを(バキューン!)したDOSエクステンダなので
mallocで確保したアドレスと物理アドレスは一致していないはず。

590 :デフォルトの名無しさん:2009/12/10(木) 21:45:05
これって、
Windows XP SP2でコマンドラインでコンパイルしようとすると
ファイルの文字数が8だか12だかその辺の短い基準値を超えると
コンパイルエラーにならない?

たとえば
hoge.cppはコンパイルできたとして、このファイル名を
hogehogehogehoge.cpp
とするとたちまちコンパイルエラーになる。


598 :590:2009/12/13(日) 13:42:53
R:\>wcl386 foobarfoobarfoobar.cpp
Open Watcom C/C++32 Compile and Link Utility Version 1.8
Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
Unable to open "foobarfoobarfoobar.cpp"
やはり長いとコンパイルエラーになりますね。


617 :デフォルトの名無しさん:2009/12/19(土) 14:52:08
Windows XP にて
OpenWatcom ver1.8で
http://codepad.org/TivB3jGM
このコードがコンパイルエラーになります。
エラーメッセージは
http://codepad.org/p3YPCuj8
です。

どうにかしてこの問題を回避できませんでしょうか?
よろしくお願い申し上げます。

626 :デフォルトの名無しさん:2010/03/13(土) 23:50:00
オマイらがそんなことを言ってる間に1.9 RC1が来たぞ。

つhttp://www.openwatcom.org/index.php/Download

665 :デフォルトの名無しさん:2011/11/15(火) 03:58:18.73
Nightly Buildsやってくれてるサイトが403なっとる
http://owbuilder.malakovi.cz/

677 :デフォルトの名無しさん:2011/12/05(月) 03:18:02.63
Open Watcom 2.0 r37163
http://owbuilder.malakovi.cz/

694 :デフォルトの名無しさん:2011/12/13(火) 20:34:27.11
>>677
運良くダウンロードだけしてたので今試したのだけど
todo 書かれてた 2.0 じゃなくて 1.9 からの微修正ぽい。
templateとかstlとか あまり進んでなさげ。

680 :デフォルトの名無しさん:2011/12/07(水) 01:22:07.22
CC386とか誰も知らないだろうな…。

691 :デフォルトの名無しさん:2011/12/13(火) 16:11:07.60
Win7 64bitでビルドしてみたら最後のほうでエラーみたいなの出たお

697 :デフォルトの名無しさん:2011/12/15(木) 01:20:20.74
>>694
STLくらいGCCからコピれ

730 :デフォルトの名無しさん:2012/09/03(月) 16:59:04.15
こうして
#pragma pack(4)
struct __m128 {
float m128_f32[4];
};

こうやって
extern "C" __m128 _mm_add_ps(__m128 &a, __m128 &b);

こうやると
#pragma aux _mm_add_ps = \
".686 " \
".XMM " \
"movaps xmm0,[eax] " \
"movaps xmm1,[edx]" \
"addps xmm0,xmm1" \
"movaps [esi],xmm0" \
parm [eax] [edx]


…movapsでこけるな
とりあえずmovups使うとして、アライメントの調整どうするんだ?

http://peace.2ch.net/test/read.cgi/tech/1033433728/l50/../

0 件のコメント:

コメントを投稿