ページ 11

TransparentBltについて

Posted: 2007年9月25日(火) 09:50
by garuma
当方、visual studio.NET2003を使っているものですが、
"デバッグなしで実行"と"開始"の違いもわからない超初心者なので、
超初心者でもわかるように教えてもらいたいです、お願いします。
プラットフォームSDKの(たぶん?)
TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT);
を使うためには、msimg32.dllに実装されているらしいのですが、
開発環境の設定によってはmsimg32.libをリンカにインポートする必要があるらしいのですが、
設定の仕方がわかりません。
ちなみにエラーでTransparentBltの位置が不明と出ます。
設定の仕方を詳細に教えてほしいです。

Re:TransparentBltについて

Posted: 2007年9月25日(火) 13:24
by keichan
えーっと、使用言語は何をお使いなんでしょうか?
(リンカにインポートと仰っているのでおそらくVC++だと思って回答します)

プロジェクト → プロパティ → 構成プロパティ → リンカ → 入力 → 追加の依存ファイル
に手打ちで msimg32.dll と入力。

または TransparentBlt を使用しているソースファイルの先頭らへんに
#pragma comment(lib, "msimg32.dll")
を追加する。

以上2案のどちらかで解決すると思います。

Re:TransparentBltについて

Posted: 2007年9月26日(水) 08:45
by garuma
親切に教えてくださり、大変有り難う御座います。
早速、家に帰ったら試してみます。それに関連してもう一つ
大変恐縮なんですが、
msimg32.libを追加する方のやり方はないんでしょうか?
勉強してる本に"開発環境の設定によってはmsimg32.libをリンカにインポートする必要がある"とあったもので、教えてくだされば幸いです。<!--1

無題

Posted: 2007年10月07日(日) 11:18
by lip
linuxもc言語も知識が乏しいものです。

質問なんですが、linuxでプロセス間でデータを
共有し、そのデータで場合分けを試みています。
(shm_open等使用しています。)

が・・うまくいきません。

例えば、共有メモリFLAG=3とします。
A,Bは同じプログラムでFLAGを-1をするプログラムです。
A、Bプロセスを1回ずつ実行すると、FLAG=1となります。
しかし、途中でAプロセスを強制終了した際には、メモリは
解放されず、FLAG=2とならず、結果FLAG=1となってします。

強制終了した際のメモリの解放することはできるのでしょうか?
私が書きたいプログラムは、複数プロセス間でフラグをたて、m個のプロセスしか実行しない
というプログラムです。セマフォなど使っても
うまくいきませんでした。
何かいい方法があれば、教えていただきたいです。

よろしくお願いします。

Re:無題

Posted: 2007年10月15日(月) 19:38
by lip
もう少し自分で調べてみます。