5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ライブラリマニア【パッケージ化】

1 :デフォルトの名無しさん:2010/03/06(土) 15:01:14
思いついたらすぐパッケージ化、ライブラリ化する人
他人の作ったライブラリやモジュールを集める人

そんな人たちの交差点
リクもおk(礼儀は正しく)

因みに>>1はC++では前者です

2 :デフォルトの名無しさん:2010/03/06(土) 15:45:03
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

3 :デフォルトの名無しさん:2010/03/06(土) 16:48:01
Linux板でやれ

4 :デフォルトの名無しさん:2010/03/06(土) 17:25:48
じゃあ早速
動画や音楽ファイルのアーティスト情報をget_file_info(filename)見たいな感じで表示するコードください

5 :デフォルトの名無しさん:2010/03/07(日) 11:07:13
ネタ振っといて例を出さないとかやる気ないな

6 :デフォルトの名無しさん:2010/03/07(日) 11:37:11
だれかが代わりに探してあげるスレじゃまいか?

7 :デフォルトの名無しさん:2010/03/07(日) 19:55:42
言われてもそんなすぐ出来るわけないでしょう
マターリやりましょうよ

8 :デフォルトの名無しさん:2010/03/07(日) 20:51:07
試しに晒してみる
自作アプリで使ってるクリップボード関数

BOOL ClipCopy(void* Source, DWORD dwSize, DWORD CFType)
{
BOOL Result;
HGLOBAL HG;
LPVOID lpV;
if(Source == NULL)
return FALSE;
if(dwSize == 0)
return FALSE;
HG = ::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, dwSize);
lpV = ::GlobalLock(HG);
::CopyMemory(lpV, Source, dwSize);
::GlobalUnlock(HG);
if(::OpenClipboard(NULL))
{
::EmptyClipboard();
::SetClipboardData(CFType, HG);
::CloseClipboard();
Result = TRUE;
}
else
{
::GlobalFree(HG);
Result = FALSE;
}
return Result;
}


9 :デフォルトの名無しさん:2010/03/07(日) 20:59:36
十年くらい前はCでそんな感じのよく作ってたなぁ
.NET使うようになってからどうでもよくなったがw

10 :デフォルトの名無しさん:2010/03/07(日) 21:38:58
Windowをクラス化しようとしてコールバックにメンバ関数渡せない
→static関数を渡せ
→インスタンスを渡したい
 →SetWindowLongPtr使え
 →サンク使え


11 :デフォルトの名無しさん:2010/03/07(日) 23:24:40
>>4
FFmpegあたりが参考になるかも

12 :デフォルトの名無しさん:2010/03/07(日) 23:35:57
>SetWindowLongPtr使え
thisポインタが必要だから無理
MFCでは全てのメッセージはグローバルのコールバックに届いて
クラスとハンドルの対応表を参照してメンバ関数を呼び出してる
MFC方式でいいんじゃない

13 :デフォルトの名無しさん:2010/03/08(月) 11:51:19
それは誰かが、メンバ関数の表のようなものを
つくらないと若しくはじぶんで自作って可能なのかそれは…
用途によるかd

14 :デフォルトの名無しさん:2010/03/08(月) 16:13:14
春休みなんでC言語でさくっとソフト作りたい
何かボタンとか付けるだけで実用的になるライブラリーみたいな物知らない?

15 :デフォルトの名無しさん:2010/03/08(月) 18:31:58
.NETFramework

16 :デフォルトの名無しさん:2010/03/08(月) 19:09:08
C++/CLI

17 :デフォルトの名無しさん:2010/03/08(月) 22:34:23
>>12
SetWindowLongPtrでthisを突っ込むんだよ

18 :デフォルトの名無しさん:2010/03/09(火) 16:08:59
SetWindowLongPtrって64bitOS対応なのか、ずっとSetWindowLong使ってたわw

19 :デフォルトの名無しさん:2010/03/09(火) 16:10:21
てか、SetWindowLongPtrでthis突っ込む方式の何が駄目なのだろうかage

20 :デフォルトの名無しさん:2010/03/09(火) 16:26:33
>>17
DWLP_USERに入れればいいのか?
GetWindowLongPtr( hWnd, DWLP_USER )->foo( uMsg, wParam, lParam )
みたいな感じ?
でも結局グローバルなコールバック関数が必要なような

21 :デフォルトの名無しさん:2010/03/09(火) 16:34:49
こんな感じで

LRESULT Window::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
// メンバに自由にアクセス
}

static LRESULT CALLBACK Window::InnerWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
Window* win = (Window*)::GetWindowLong(hWnd, GWL_USERDATA); // SetWindowLongバージョンで許して
if (win) {
ret = win->WndProc(hWnd, uMsg, wParam, lParam);
} else {
ret = ::DefWindowProc(hWnd, uMsg, wParam, lParam);
}
}


22 :デフォルトの名無しさん:2010/03/09(火) 16:35:42
あ〜、もう

LRESULT Window::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  // メンバに自由にアクセス
}

static LRESULT CALLBACK Window::InnerWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  Window* win = (Window*)::GetWindowLong(hWnd, GWL_USERDATA);
  if (win) {
    ret = win->WndProc(hWnd, uMsg, wParam, lParam);
  } else {
    ret = ::DefWindowProc(hWnd, uMsg, wParam, lParam);
  }
}


23 :デフォルトの名無しさん:2010/03/09(火) 21:21:18
>>22
結局staticだしMFCでいいや

24 :デフォルトの名無しさん:2010/03/09(火) 21:26:29
WTLのソースでもよめよ

25 :デフォルトの名無しさん:2010/03/09(火) 23:27:26
>サンク使え

26 :デフォルトの名無しさん:2010/03/11(木) 17:29:02
サンク方式→アセンブラで書くので移植の問題を考慮する必要がある
MFC方式→クラスやインスタンスが増えた場合、テーブルから引き出す速度が遅くなる。

27 :デフォルトの名無しさん:2010/03/11(木) 17:59:52
>>22
クソをソースにしたようなもんだな

28 :デフォルトの名無しさん:2010/03/11(木) 20:40:48
他にいいやり方があるならどうぞ

29 :デフォルトの名無しさん:2010/03/11(木) 21:46:26
ライブラリがGWL_USERDATA使ってると
そのライブラリ使うユーザーが同じことできないから困る

30 :デフォルトの名無しさん:2010/03/12(金) 06:58:23
CreateWindow(Ex)の最後の引数が代替できる

31 :デフォルトの名無しさん:2010/03/12(金) 18:20:36
10年前にタイムスリップしたようなスレだな

32 :デフォルトの名無しさん:2010/03/12(金) 18:36:30
ドットネットの今こそ需要があるんだろうよ。

33 :デフォルトの名無しさん:2010/03/13(土) 18:40:48
VisualC++でゲーム用スタティックライブラリ作ってるんですけど
1ライブラリにつき、全てのヘッダをincludeしたヘッダをひとつ用意して
これを使う設計なんですけど、これってコンパイル速度にペナルティあったりしますか?
使わないヘッダまでincludeされちゃうんで無駄があるかなぁと思ってるんですが

34 :デフォルトの名無しさん:2010/03/13(土) 20:39:22
>28-30
RegisterClassExでウィンドウクラスを作ればいいだけじゃん
名前の衝突も考えないといけなくなるけど

35 :デフォルトの名無しさん:2010/03/13(土) 21:41:42
ここにいるやつらでライブラリ寄せ集めて新.NETなんてどう?
まぁこんな低能じゃ無理か

36 :デフォルトの名無しさん:2010/03/13(土) 21:59:51
FCLの事言ってるのかCLRを自作の事いってんのかわからんが、
たぶん何もわかってなくて言ってるんだろうな

37 :デフォルトの名無しさん:2010/03/15(月) 03:51:45
>>33
勿論、コンパイラはincludeされたファイルは全部解析するからその分は遅くなる。
だが恐らくは気になるほど遅くはならないだろう。

38 :デフォルトの名無しさん:2010/03/15(月) 21:54:54
#pragma once

39 :デフォルトの名無しさん:2010/03/20(土) 18:17:39
ところで個人が作成したもので一番普及してるコードってなんだろう?
libjpegとか?

40 :デフォルトの名無しさん:2010/03/20(土) 18:28:22
zlibとか?

41 :デフォルトの名無しさん:2010/03/22(月) 06:58:32
libcだろ
最初はRMSと数人で書いたんでしょ

42 :デフォルトの名無しさん:2010/04/25(日) 03:33:52
関係ないかもしれんけどgoogle日本語入力を外部アプリから利用できないかなと思った
ゲームとかのグラフィカルなインターフェイスでスマートに漢字を入力みたいな

43 :デフォルトの名無しさん:2010/04/30(金) 00:39:51
MFCのCHtmlViewにFirefoxとIEのエンジンを切り替えて使えるラッパーを探していますが誰か知りませんか?

44 :デフォルトの名無しさん:2010/05/03(月) 11:04:43
.lib化すると、他に必要だった.dllとかが要らなくなるの?

45 :デフォルトの名無しさん:2010/05/07(金) 19:23:17
MFCを使うと実行モジュールのサイズが100倍に!?


46 :デフォルトの名無しさん:2010/05/21(金) 22:42:56
嘘つくなよ
フリーソフト作るときmfc入ってないやつのためにスタティックリンクすることあるけどせいぜい3倍程度だし

47 :デフォルトの名無しさん:2010/05/22(土) 03:06:30
http://www.dotup.org/uploda/www.dotup.org903461.gif

48 :デフォルトの名無しさん:2010/06/05(土) 21:33:35
ARM版WinCE用のlibjpegのdllってどこにありますか?

9 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)