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

C/C++のライブラリ総合スレ

1 :
デフォルトの名無しさん
2011/08/10(水) 01:12:07.87
便利で役立つライブラリを総合的に扱うスレがないので立てました

便利なライブラリをここに挙げてみたり
やりたい事を実現できるライブラリを聞いてみたり
ライブラリに関する雑談をするスレです
2 :
2011/08/10(水) 02:12:23.87
Boost
http://www.boost.org/

AMD Accelerated Parallel Processing (APP) SDK
http://developer.amd.com/sdks/AMDAPPSDK/Pages/default.aspx

TinyXML
http://www.grinninglizard.com/tinyxml/

ACE
http://www.cs.wustl.edu/~schmidt/ACE.html

libcurl
http://curl.haxx.se/libcurl/

loki
http://sourceforge.net/projects/loki-lib/

Win32++
http://win32-framework.sourceforge.net/

DXライブラリ
http://homepage2.nifty.com/natupaji/DxLib/

せっかくだからとりあえず挙げてみた
前々からあったらいいなとは思ってたけど

みんなは自分の環境で何のライブラリを標準的に使ってる?
3 :
デフォルトの名無しさん
2011/08/10(水) 16:30:05.94
C++で ソケットクラスのあるライブラリで
もうこれ標準だろレベルのデファクトのは
ありますか?
4 :
2011/08/10(水) 18:27:07.63
boost::asio
5 :
2011/08/11(木) 15:52:29.88
>>4
それだけはナイわ・・・
6 :
2011/08/11(木) 21:53:10.67
ACEとかもいいよ
7 :
2011/08/17(水) 14:19:27.91
boostってそんなに便利か?
8 :
2011/08/17(水) 18:15:19.82
超便利
でもコンパイル時間が増える
9 :
片山博文MZ
2011/08/25(木) 13:20:13.05
10 :
2011/08/26(金) 11:58:13.78
APNG patch for libpng
ttp://sourceforge.net/projects/libpng-apng/
11 :
忍法帖【Lv=29,xxxPT】
2011/08/26(金) 12:23:38.26
wxWidget
12 :
デフォルトの名無しさん
2011/08/26(金) 12:24:49.48
wxWidgets
13 :
2011/08/28(日) 23:57:27.19
P-Stade C++ Library
http://p-stade.sourceforge.net/
この中のOvenは趣味全開のときに使う。Boost.Rangeをめっちゃ強化するライブラリ。
14 :
2011/09/02(金) 01:25:51.47
P-Stade C++ Library
http://p-stade.sourceforge.net/
http://sourceforge.net/projects/p-stade/

上のリンクからはダウンロードできないw
15 :
2011/10/15(土) 09:08:09.69
SmartWin

smartwin-2.0.0_RC1-gcc3.4-2av.DevPak (拡張子がDevPak)
devcpp-4.9.9.2_setup.exe
の組合せ(gcc 3.4.2になります)
C:\Dev-Cpp>gcc --version
gcc (GCC) 3.4.2 (mingw-special)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


まず、MinGWがすでにインストールされていれば、アンインストールしておく。
次に、C:\Dev-Cppに、Dev-C++をインストールして、
DevPakをPackman.exeのアイコンにドラッグアンドドロップする(DevPakをダブルクリックでもできるとおもう)
16 :
2011/10/15(土) 10:33:35.59
gccは、C:\Dev-Cpp\binにある
17 :
2011/10/15(土) 16:37:07.83
レンダリングエンジンOgre
http://www.ogre3d.org/
18 :
デフォルトの名無しさん
2011/12/12(月) 18:02:20.58
保守
19 :
片山博文MZ ◆0lBZNi.Q7evd
2011/12/15(木) 11:28:40.64
HTML Tidy
20 :
2011/12/15(木) 17:33:57.74
STLsoftまじ便利
ただしSTLに慣れている者に限る
http://www.stlsoft.org/
21 :
デフォルトの名無しさん
2012/01/10(火) 11:23:59.09
だれかがIteratorで使用中でも追加削除が出来る配列がほしい
22 :
2012/01/10(火) 12:20:02.17
できるじゃん
23 :
2012/01/10(火) 14:14:18.29
>>22
使用中であれば破綻してしまう操作を「できる」とは言わないだろ
24 :
2012/01/10(火) 17:57:38.76
vector<int>::iterator it = array.begin();
while(it != array.end()) {
it = array.erase(it);
}
これじゃ駄目なのか?
25 :
2012/01/10(火) 19:19:55.70
文脈的にスマポ的なイテレータの話をしてると思ったんだが
26 :
2012/01/10(火) 23:31:53.92
>>24
そのコードの前に
vector<int>::iterator it1=array.begin();
とやっててerase後にit1にアクセスするとかって話だろ
27 :
2012/01/10(火) 23:35:39.36
てか参照カウンタで解放をコントロールするコンテナつくればいいしゃん
そんなに難しくはないだろ
28 :
デフォルトの名無しさん
2012/01/10(火) 23:54:57.21
そういったrobust iteratorを使いたいときは、間違いなくそれ用に作られたcontainerが必要。
29 :
デフォルトの名無しさん
2012/01/11(水) 00:00:10.78
>>27
ツリーやリストでそれをやると悲劇
単純に前後要素のiteratorも抱えた新しいiteratorをでっち上げるがいい
30 :
2012/01/11(水) 05:47:37.82
イテレータ自体が一時リストへのリファレンスを持って
その一時リストは参照カウントで、begin、endなんかで毎度生成
って事?
31 :
デフォルトの名無しさん
2012/01/11(水) 11:07:11.37
少なくともerase呼んだ瞬間に、要素のデストラクタは動くべき
32 :
2012/01/11(水) 11:41:01.84
QHTM
33 :
2012/01/11(水) 14:37:30.35
>>31
それを避けたい
34 :
デフォルトの名無しさん
2012/01/11(水) 15:03:53.14
OpenFrameworks
http://www.openframeworks.cc/
MITライセンス

Cinder
http://libcinder.org/
Simplified BSD Licens

Little CMS
http://www.littlecms.com/
MIT LICENSE
35 :
デフォルトの名無しさん
2012/01/11(水) 16:45:05.46
>>33
それはおかしな話だな。
erase後にsize()が減るかどうかは他のiteratorに捕まれてるかどうかに依存するということになる。
erase後に ++iter が使えればいいんだろう?
erase後に *iter まで使える必要はないはず。
36 :
2012/01/11(水) 19:37:58.83
ループ時に内部でコピーしてくれてもいい
37 :
2012/01/11(水) 19:38:24.53
いや、やっぱりだめだ
38 :
2012/01/11(水) 21:12:32.52
Cygwin (1.7系)で、標準のBoost(1.46)を入れて、
コンパイル時に-lboost-system-mtをつけてるのだが、

undefined reference to boost::system::get_generic_category

がでる。何がおかしいのかな
39 :
2012/01/12(木) 01:23:55.10
そういうのはBoost総合スレで聞いた方がいいだろ
40 :
2012/01/13(金) 18:33:11.01
ソースも貼らずにry
41 :
デフォルトの名無しさん
2012/01/17(火) 05:11:53.19
最近こういうの全然追ってないんだけど
任意のデータ構造(なければ特定の)に使える
パタ−ンマッチのライブラリってないかな
42 :
2012/01/17(火) 08:29:18.38
>>41
C#のlinqみたいなことがやりたいってこと?
43 :
デフォルトの名無しさん
2012/01/30(月) 00:13:25.56
44 :
デフォルトの名無しさん
2012/02/02(木) 15:36:06.61
Kinect for Windows SDK とOpenCV でC++使って
検出した骨格の座標データをファイルに保存するプログラム教えて欲しい〜
45 :
2012/02/02(木) 15:55:13.06
骨格の座標とるのは簡単なんだからファイル保存だけじゃないの?
Kinectとかやる前にCの勉強したほうがいいよ
46 :
2012/02/26(日) 13:33:14.16
fox-1.6.44.zip (STABLE)

FOX is a C++ based Toolkit for developing Graphical User Interfaces easily and
effectively.
http://www.fox-toolkit.org/
47 :
2012/03/14(水) 14:13:30.93
C++のライブラリを混て使うと、
クラスやメソッドの命名規則が一貫していないところが欝だな〜
48 :
2012/03/15(木) 16:11:24.88
ここで質問すべきなのか微妙ですが・・・

ライブラリをビルドする際のDebugやReleaseといった指定について、Debugビルドする際にはやはりDebugビルドしたライブラリを使用すべきなのでしょうか?
49 :
2012/03/16(金) 01:51:59.79
>>48
デバッグビルドしたい、ってことはデバッグしたい、ってことなんだから
それならライブラリもデバッグビルド版使った方がいい気はする
50 :
2012/03/16(金) 07:42:25.53
winならそもそも標準ライブラリの設定が一緒になってないとリンク通らんけどな
51 :
デフォルトの名無しさん
2012/03/19(月) 21:20:51.57
CppCMS ? C++ Web Development Framework
http://cppcms.com/
LGPLv3
52 :
2012/03/23(金) 02:28:27.22
>>26

eraseの戻り値のiteを使えよ。それかite++をeraseに渡す。
コンテナはshared_ptrが最強なのでリストのなかに入れるオブジェクトはすべてshared_ptrにする。


これで寿命管理から開放される上に、ありとあらゆる任意の箇所から参照保持削除できるようになります。
53 :
2012/03/23(金) 23:47:55.77
eraseの戻り値なんか使うなよ・・・
54 :
2012/03/24(土) 01:09:42.62
え、じゃあ、なんでiteの次が戻ってるんだよ
55 :
2012/03/24(土) 10:47:18.09
vcの拡張機能。標準仕様では戻りはvoid
56 :
2012/03/24(土) 20:38:35.06
C++11ではイテレータ返すから
57 :
2012/03/24(土) 23:33:40.51
STLのlistのeraseの戻り値は標準機能じゃないのか。ARMCでもとおってるが。

それ以外ではite++を渡してる
58 :
2012/03/25(日) 00:51:10.43
listとvectorじゃちがうんじゃね?
59 :
2012/03/25(日) 01:02:22.00
60 :
2012/03/25(日) 01:19:06.81
C++11でも、モノによってはeraseするとiteがぶっ壊れるな。
61 :
2012/03/25(日) 01:19:50.27
>>59
listの話なんかしてねーよタコ
62 :
2012/03/26(月) 03:17:28.58
ite++をeraseに渡せばいいんじゃね?
63 :
営利利用に関するLR審議中@詳細は自治スレへ
2012/03/29(木) 16:36:53.55
Linux上のgccでVisual Studio用のバイナリってビルド出来る?
64 :
2012/03/29(木) 18:15:01.95
>>63
VisualStudio用のバイナリというものは存在しないけど
Windowsで動作するバイナリはコンパイル可能です
65 :
63
2012/03/30(金) 01:17:15.76
表現が全く不適切だった。改めて。

gccで、VC++のリンカで使えるスタティックリンクライブラリはビルド出来る?
66 :
2012/03/30(金) 09:54:56.17
>>65
やったこともないし出来る保障も無いけど
理屈の上では出来る
67 :
片山博文MZボット ◆0lBZNi.Q7evd
2012/04/02(月) 14:29:07.76
リモートURLの絶対パスと相対パスが与えられて、
絶対パスから相対パスをたどると、どんな絶対パスになるかを
求めるようなライブラリってないかな?
68 :
2012/04/02(月) 20:05:21.98
addr2lineでシェアドライブラリの中のアドレスを解決したいんだけど
やり方をおしえて
69 :
2012/04/16(月) 15:53:59.13
>>65
GCCをいじれば何だって出来ると思うぞ
70 :
デフォルトの名無しさん
2012/06/04(月) 00:08:43.89
71 :
2012/06/06(水) 21:44:24.52
>>69
チンチンをいじれば汁が出るぞ
72 :
2012/06/14(木) 17:47:37.58
Great Chin Chin
73 :
2012/06/15(金) 06:40:50.35
Eigenってスマートポインタ使えないのかorz
74 :
デフォルトの名無しさん
2012/06/19(火) 16:59:55.96
カスタムアロケータすれば使える
ただEigenの何が速いのか未だに分からない
for文で書いた行列演算の方がよっぽど速い
75 :
2012/06/21(木) 16:24:37.97
C/C++フル対応など、Windows Phone 8アプリにコア技術共有の効果
ttp://news.mynavi.jp/news/2012/06/21/104/
76 :
2012/06/23(土) 23:37:15.52
売れたら作らないでもないけど、あんまり見込みないな。
Windows8自体が、かなり酷いし。
77 :
2012/06/28(木) 20:36:08.96
8のおかげでアンドロ覚える気になりましたよええ
78 :
2012/07/05(木) 14:09:47.48
超コンパクトなポリゴンライブラリはありますか?
周辺が肥大化しててもOKですが、コアの部分がコンパクトなものが欲しいです。
79 :
2012/07/05(木) 14:44:57.26
WebGL
80 :
2012/07/08(日) 07:50:09.88
HTML5
81 :
2012/08/05(日) 00:08:11.66
パスをファイル名とディレクトリに分解したいんだけど
libcでお勧めの関数ある?
82 :
デフォルトの名無しさん
2012/08/05(日) 00:08:45.08
よっこいショー!
83 :
デフォルトの名無しさん
2012/08/06(月) 14:18:17.00
std::string
join
84 :
2012/08/07(火) 13:54:02.60
有名なライブラリって、サイズがでかくならない?
85 :
2012/08/07(火) 13:56:56.30
何と比較したサイズなのかがさっぱり
86 :
2012/08/07(火) 15:36:58.12
イベント駆動で、いらんイベントまでサポートしてたらでかくなるだろ
87 :
2012/08/08(水) 01:45:40.99
あれみたいに
使う時だけでっかくなるような感じが一番だよね
88 :
2012/08/08(水) 14:50:39.75
>>81
strlen
strstr
89 :
2012/08/08(水) 14:52:39.61
strlen + strrchr だった
90 :
デフォルトの名無しさん
2012/09/08(土) 20:15:15.43
pocoいいよpoco
91 :
2012/09/08(土) 21:33:36.29
モテようとして
92 :
2012/09/29(土) 16:08:43.69
質問ですが、double型の銀行丸め(JIS丸め)ってCまたはC++の標準ライブラリに無いですか
もし無いなら、double型の銀行丸め(JIS丸め)を実装した定番でフリーのライブラリとか紹介いただけませんでしょうか
(自力で書いた場合、数値的な安定性とか実行効率とかが気になるのでできれば実績のある実装を流用したい
93 :
2012/09/29(土) 16:20:23.08
VBのCOMオブジェクトを使う
94 :
2013/01/07(月) 22:01:51.45
>>92
C99標準ライブラリの範疇だと、
fesetroundでFE_TONEARESTを指定すればできるはず。

コンパイラが対応していない場合で、x86系(x86-64含む)なら、
SSE2の_mm_cvtsd_si32/_mm_cvtss_si32(dobule/float→int)や
SSE4の_mm_round_sd/_mm_round_ss(dobule/float→double/float)など。
(前者は別途丸めモードを設定しておく必要あり)
あるいはインラインアセンブラでそれらかFPUを呼ぶ方法もある。
95 :
2013/01/20(日) 11:01:01.82
FLTK
96 :
2013/01/20(日) 20:01:23.11
>>95
flwmのために作られた ウィジェットツールキットだっけ?
サンプルについてきた test/sudoku にハマっている
97 :
2013/02/23(土) 13:55:51.08
偏微分方程式ソルバーでお勧めって何がある?
98 :
2013/02/27(水) 01:16:30.73
99 :
デフォルトの名無しさん
2013/02/27(水) 19:18:46.79
100 :
2013/03/22(金) 00:10:43.76
Git初心者です

/.../foodirを、
git init --separate-git-dir=/sepadirで別のとこにリポジトリ情報保存していました。

ずっと前に気にせずにfoodirをpuyodirに変更したらしく、gitのコマンドが
fatal: Could not switch to '/.../foodir': No such file or directory
と出て使えなくなりました。

git configですら使えなくなり、どうやってディレクトリ名変更をgitに伝えればいいかわかりません。
/sepadir内のconfigファイルに worktree = /.../foodir とあったのですが、これを直接書き換えても大丈夫なんでしょうか・・・

どうかよろしくお願いします。
101 :
2013/03/22(金) 05:15:03.57
大丈夫
102 :
2013/03/25(月) 00:02:10.31
>>100
大丈夫です
103 :
2013/03/25(月) 22:59:12.15
C++のライブラリでお勧めてあります?
boostは互換性に問題がありそうなので。
104 :
2013/03/26(火) 01:28:53.43
>>103
何をするライブラリを探してるの?
何と何との互換性のことを心配しているの?
105 :
2013/03/26(火) 02:42:54.57
>>103
libc++かな
106 :
2013/03/27(水) 09:49:40.89
なにを思ってもまずはboost
もしboostすらうまく動かない環境では既存の汎用品はあきらめて
どこかにコンパイラ込みで専用品・カスタマイズ品を開発してもらったほうがいい
107 :
2013/03/27(水) 09:55:11.70
>>106
今boostを使っているのだが他に独自ライブラリとか色々使ってるので統一しようと思って聞いています。
108 :
2013/03/27(水) 16:39:30.86
>>107
なにを互換性の問題といってるのか分からない
109 :
2013/04/01(月) 02:52:45.80
ちょっとわずかに言い方が誤用だっただけで揚げ足取りかよ…
110 :
2013/04/01(月) 11:56:00.42
何言ってんのお前
111 :
2013/04/01(月) 14:59:15.55
>>103
結局、boostの互換性の問題ってなんですか?
112 :
2013/04/01(月) 16:49:49.64
>>109>>103だとしたら頭おかしいな
113 :
2013/04/01(月) 17:16:37.62
109は何に対して何を問題視してるか不明すぎだから無視しておけばいいんじゃねーの
114 :
2013/04/01(月) 17:26:55.60
boostは処理系の差異を楽に吸収させるのにいいんじゃない?
使わない場合と比べて互換性の問題といわれるものはむしろ減るよな?
115 :
2013/04/01(月) 19:39:37.59
わざわざ呼び捨てしてまでも過大評価がしたいのか?
116 :
2013/04/01(月) 19:40:18.19
>>112
ウザイなおまえケンカ売ってるのか?
本当につよいやつは強さを口で説明したりはしないからな
口で説明するくらいならおれは牙をむくだろうな
おれパンチングマシンで100とか普通に出すし
117 :
2013/04/01(月) 19:52:43.83
なんだブロントさんか
118 :
2013/04/01(月) 19:57:56.49
俺がどうやってBurontだって証拠だよ
119 :
2013/04/01(月) 20:32:05.46
>>118
お前、日本語がおかしすぎる
120 :
デフォルトの名無しさん
2013/04/01(月) 20:33:01.52
>>116
> おれパンチングマシンで100とか普通に出すし

おまえ弱すぎだなww
おれは105くらい余裕で出すぞ
121 :
デフォルトの名無しさん
2013/04/01(月) 20:51:42.90
突然だけど
long long hoge[N][S][101];
fill(hoge[0][0], hoge[N][0], -1LL);
ってどういうことか教えろください
122 :
デフォルトの名無しさん
2013/04/01(月) 20:57:56.32
すれちだったなあ
123 :
2013/04/01(月) 21:08:47.48
>>121
longlong型の3次元配列を定義
fillって関数の第一引数にhoge[0][0][0]のアドレスを、第二引数にhoge[N][0][0]のアドレス、第三引数にマイナス1を渡すって意味
124 :
2013/04/01(月) 21:30:16.02
お前の勝手なルールでこの場所に固執するのは勝手にすりゃいいけど、
総合的な場所よりは使って気づいている人が多そうなスレの方が
まともな回答が得られる可能性が高いとは考えないのかな
125 :
2013/04/02(火) 01:59:04.76
>>124
回りくどいな。 はっきり言え。
126 :
2013/04/02(火) 02:54:26.51
叩いてるのが一人しかいないって?
お気楽でいいね〜
127 :
2013/04/24(水) 12:12:16.87
FLTKのウェブサイトにアクセスできない

Fast Light Toolkit
FLTK Apps FLTK Library Forums Links Login
[ Home | Articles & FAQs | Bugs & Features | Documentation | Download | Screenshots ]
http://www.fltk.org/ のキャッシュです。 このページは 2013年4月18日 17:25:28 GMT
128 :
2013/04/26(金) 08:27:30.88
きょうもだめでした
http://www.fltk.org/
129 :
2013/04/27(土) 01:55:12.48
なにこれ
http://fltk.org/?nr=0
130 :
2013/04/27(土) 17:43:36.53
(サーバーがぶっ壊れたからグーグルに)切り替えていく
って事かな
131 :
デフォルトの名無しさん
2013/05/26(日) 03:54:41.86
お勧めのシグナル解析ライブラリplz
132 :
デフォルトの名無しさん
2013/05/30(木) 19:40:44.10
DirectXとかにある
ビット演算子で↓のようになってるのは
dwFlage = ○○|○○|○○;
dwFlageに選択した3つの要素を入れるってことで良い?
133 :
2013/05/30(木) 19:48:33.10
>>132
ok
134 :
2013/05/30(木) 19:51:30.79
dwFlage = 1|2|3;
dwFlage = 1|2|4;

この違いが分かるならそれでよい
135 :
132
2013/05/30(木) 20:42:42.57
ありがと
136 :
デフォルトの名無しさん
2013/05/30(木) 21:52:11.45
ゲームのサウンドのライブラリを作るとして
wavを読み込んで生成したチャンネルを
個別で解放する機能も必要だと思う?
137 :
デフォルトの名無しさん
2013/05/30(木) 21:53:33.38
あと
ストリーム再生出来ないとやっぱし困る?
静的再生だけじゃダメかな?
138 :
2013/05/30(木) 22:00:08.51
対象プラットフォームにもよるが両方とも必要
139 :
デフォルトの名無しさん
2013/05/31(金) 12:15:20.65
DirectXで

DDPRESENT_PARAMETERS d3dpp;
d3dpp.Presentationlnterval = D3DPRESENT_INTERVAL_DEFAULT;
の設定で映像が一定間隔で描画されるようになるけど
その描画の間隔は1秒60フレームなの?
140 :
2013/05/31(金) 12:22:48.13
リフレッシュレートとは無関係
141 :
2013/05/31(金) 18:19:22.62
directxスレで聞けよ
142 :
2013/05/31(金) 19:00:46.69
おばかさん達が次スレを用意せずに落としたからな
143 :
137
2013/05/31(金) 20:41:22.64
説明不足ですまん
ライブラリからゲームを作成していて
サウンド関係は静的再生のみ出来てて
ストリーミング再生も実装する必要があるのか聞きたい
追加したほうが良いのは分かるけど
サウンド以外にも作らなくちゃいけないものは山ほどあるから必須じゃないなら後回しにしたい
144 :
2013/05/31(金) 20:47:45.68
スマホみたいにストレージが限られるプラットフォームもターゲットだったら必須
プライベート用なのか公開も視野に入れてるか知らんが、ぶっちゃけこの程度も判断できない人の
作ったライブラリなんて使いたくないな
145 :
デフォルトの名無しさん
2013/05/31(金) 20:49:11.44
>>144
Windows用のゲームだ
146 :
2013/05/31(金) 21:59:31.17
既に出来てるならそのまま出せばいいじゃない
つけてくれって言われてから考えればいい
147 :
デフォルトの名無しさん
2013/06/02(日) 10:10:50.11
148 :
デフォルトの名無しさん
2013/06/03(月) 00:36:16.85
>>146
ないとゲームが作れない
ってことがあるのか知りたいんだ
149 :
2013/06/03(月) 06:49:23.79
>>148
ある
150 :
デフォルトの名無しさん
2013/06/03(月) 08:52:52.30
>>149
どういうとき?
151 :
2013/06/03(月) 09:02:26.74
インターネットラジオ連動型ゲームみたいにストリームで音鳴らすことが前提のゲーム

ある、なし、で言えばあるに決まってるだろ
ぶっちゃけ音なんて一切サポートしてなくてもたいていのゲームは作れる
ターゲットなどを考えて優先順位つけりゃいんだよ

わりとマジにおまえは頭悪そうだからプログラミング諦めたほうがいいぞ
152 :
デフォルトの名無しさん
2013/06/03(月) 12:28:47.27
>>151
サンクス

とりあえず
ネット使わない昔ながらのゲームになるから
しばらくは静的再生だけでいくよ
153 :
2013/06/03(月) 13:53:38.31
素直なやつだ
わりとマジに早死しそうだからプログラミング諦めたほうがいいぞ
154 :
2013/06/03(月) 14:23:22.47
ストリーミング無しとか話にならない。
音色データを全部メモリに乗せっぱなしか? 鳴らす時にファイルひとつ丸々読むのか? そんなクズライブラリ使うくらいなら毎回手で書いた方がマシ。
155 :
2013/06/04(火) 01:02:54.72
今、公開前提でゲームライブラリ作ってるんだが
公開用と埋め込み用でヘッダーファイルはどういう風に管理すればいいかな?

現状だと、includeディレクトリとimplディレクトリで分けて管理しているわけだが
やっぱこんなもんか?

>>143
BGMとなれば必須。
ストリーミングはデータの読み込み時間とメモリの節約。
156 :
2013/06/04(火) 02:07:03.01
効果音やらボイスならともかくBGMにそんな目くじら立てんでも
157 :
2013/06/08(土) 23:51:13.73
そんなことぐらい自分で判断しやがれ
ここで聞いても答えはでんだろ
他の人の意見を聞くならまだしも
お前が信じるかどうかなんて知ったことじゃねえ
158 :
2013/06/19(水) 11:54:11.46
PC88の頃から考えれば
データがデカすぎるだけ。
159 :
2013/07/13(土) NY:AN:NY.AN
C++で通信ライブラリのようなものを作ってます
よかったらお試しください
http://ichishino.nobody.jp/
160 :
2013/08/27(火) NY:AN:NY.AN
/**
* @FILEAME o72.h
* @DESCRIPTION オナニーに使う動画、画像を射精管理する
*/

typedef int o72bool;

struct o72 {
int sex;
int speed;
long counter;
int okazuflags;
char okazuname;
union {
eropict okazuimage;
erovideo okazudouga;
};
};

extern o72bool okazujunbi(struct o72 * poni);
extern o72bool o72start(struct o72 * poni);
extern o72bool o72hand(struct o72 * poni, int maxspeed);
extern o72bool o72page(struct o72 * poni, int pages);
extern o72bool o72getframe(struct o72 * poni, BITMAPFILEHEADER *bmi, RGB24 *bmpor);
extern o72bool o72dougactrl(struct o72 * poni, HWND parentWindow, unsigned long command);
extern o72bool o72finish(struct o72 * poni, double pai, double theta, unsigned mse);
extern o72bool o72destroy(struct o72 * poni);
161 :
デフォルトの名無しさん
2013/09/02(月) 23:41:01.83
?
162 :
2013/09/04(水) 15:39:44.51
C++のBOOSTをインストールしたいんですが開発者コマンドプロンプトでフォルダを指定した後に
bootstrapを実行すると
'cl'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません
ってでてb2.exeとかができません

Visual Studio 2012
Windows 7 Home Premium

関係あるか分かりませんが、bootstrap.batをダブルクリックして実行すると
コンピューターにmspdb110.dllがないため、プログラムを開始できません。
とシステムエラーが出ます

パソコンに関しては初心者ですので分かりやすく教えて下さい
163 :
2013/09/04(水) 15:43:48.92
パソコン初心者がなぜC++をする
164 :
2013/09/04(水) 15:47:48.29
>>162ですが
boost_1_54_0をインストールしようとしていて
VSはfor Desktopです

他のパソコンでは同じVSとBOOSTで正常にインストールできたのでパソコンの何かの設定が原因なのかなと思っています
165 :
2013/09/04(水) 16:04:22.30
Visual Studioごと配布してるのかもな。ライセンス違反の臭いがする
166 :
2013/09/04(水) 16:30:10.06
>>165
ふつうに公式からdownloadしただけなんですが
167 :
2013/09/04(水) 18:03:19.25
>>164
boostから、環境の違いで開発環境が見えていないんだろ

ところで、C++は初心者じゃないのね?
両方初心者だと茨の道だぞ
168 :
2013/09/04(水) 19:01:40.85
>>167
C++はある程度分かるんですが
PATHとかですか?
169 :
2013/09/04(水) 20:43:18.81
>>168
自分の環境でないので、詳細はわからないが、エラーから考えると
そうだろう。パスを設定している起動スクリプトが違うとか、
OS、32bit、64bitの違いとか、boostインストール時のパスの設定とか
そのあたりじゃないのかい?
ちなみにboostは専用スレがあるので、聞くならそっちの方が
いいんじゃないか
170 :
2013/09/04(水) 22:26:29.26
>>169
ありがとうございます
64bitにすべきだったみたいです
お騒がせしました
171 :
2013/09/07(土) 12:37:14.29
VC++2012でのauto_ptrの実装を見てたら以下のように書いてた

   auto_ptr(auto_ptr_ref<_Ty> _Right) _THROW0()
   { // construct by assuming pointer from _Right auto_ptr_ref
      _Ty *_Ptr = _Right._Ref;
A     _Right._Ref = 0; // release old
      _Myptr = _Ptr; // reset this
   }

「A」の行って何か意味あるの?
172 :
2013/09/07(土) 12:46:58.91
auto_ptr()の呼び出し元が持ってるポインタを無効にしてるんじゃない?
173 :
2013/09/07(土) 13:30:38.54
>>171
所有権の移動
これをやらないと2重delete発生
174 :
2013/09/07(土) 13:35:48.97
>>173
 _Rightは参照じゃない
 auto_ptr_refはデストラクタで何もしない
175 :
2013/09/07(土) 14:11:59.19
>>174
ああホントだ
脳内でコピーコンストラクタと思い込んでた
スマソ
176 :
デフォルトの名無しさん
2013/09/07(土) 16:27:37.58
OpenGL な UI を作るライブラリ一覧
http://qiita.com/shimacpyon/items/e5d2a4e2019273345c37

AntTweakBar
http://anttweakbar.sourceforge.net/doc/
ライセンスは zlib

GWEN
https://github.com/garrynewman/GWEN
ライセンスは MIT

libRocket
http://librocket.com/wiki
ライセンスは MIT

CEGUI
http://www.cegui.org.uk/wiki/index.php/Main_Page
ライセンスは MIT (0.5.0 までは LGPL)
177 :
2013/09/09(月) 23:36:58.65
ttp://blog-imgs-29-origin.fc2.com/s/h/a/shajiku/nodes_001.jpg

こういうノードを使いたいんですが、ライブラリありますか?
178 :
2013/09/10(火) 08:34:32.58
>>177
Graphvizとかどうだろうか?
179 :
2013/09/10(火) 14:27:27.99
>>178
ありがとうございます。参考にします
180 :
2013/09/15(日) 20:24:41.90
>>174
_Ty次第じゃね?
181 :
2013/09/15(日) 20:26:24.98
本当に知りたいなら実装を自前のコードにコピーして、コード変えてデバッガで追ってみればいいんじゃないかな。

少なくとも._Refは参照先のポインタで意味がないとは思えないんだが。
182 :
2013/09/28(土) 10:14:51.62
vc++の実装見てたら
shared_ptr<Ty>とweak_ptr<Ty>がTy*を持ちつつRef_count経由でもTy*を参照してる。
Ty*deleteはRef_countがやってるのはいいとして、値の取得は自分のTy*をみてる。
こうする理由ってあるのかな?自前のTy*いらないような気がするんだが。
183 :
2013/09/28(土) 14:25:35.99
>>182
速度じゃね?
184 :
2013/09/28(土) 23:11:45.95
やっぱそうかな
185 :
デフォルトの名無しさん
2013/10/18(金) 01:47:17.33
OpenShogiLib 将棋用ライブラリ
186 :
デフォルトの名無しさん
2014/01/04(土) 22:33:04.84
なにかありましたらどうぞ
187 :
2014/01/04(土) 23:12:45.34
自分でライブラリていどを作れない奴は無能という称号が相応しいよな
便利とか強請る気持ちは高等な概念構築の統合能力が無いだけだろ。
188 :
2014/01/04(土) 23:17:06.74
馬鹿発見
189 :
2014/01/05(日) 11:38:20.56
>>187
ライブラリのユーザは甘やかすべきだし、実際甘えてくる。
その覚悟があればどうぞ。
190 :
2014/01/14(火) 00:45:21.26
>>187はゴミライブラリを作りまくっているようですね
実用的でないライブラリは、ゴミと同じ、容量の無駄
191 :
2014/01/19(日) 13:04:56.55
>>187
おまえはCPUから作れよ。 基板とかHDD、メモリもな。
回路図を描く為の紙の作成から始めると良い。
その次は鉛筆だろうな。

追いつくのに2万年くらいかかると思うから紙とペンとガラスの製造に成功したら
不老の薬を作るのもアリかもしれない。
192 :
2014/03/01(土) 22:36:56.07
速くて書きやすい行列計算ライブラリを探しています。
Eigenを使わせてもらっていますが、Eigenより速いものを求めています。
iOSやAndroidアプリ内の簡単な行列計算で使う予定です。よろしくお願いします。
193 :
2014/03/01(土) 22:57:53.73
iOSならAcceralete.frameworkのBLAS使え
http://hiho-developer.hatenablog.com/entry/20131220/1387479346
194 :
2014/03/02(日) 12:44:47.97
両方で使うことを考えると結局Eigen使うことになるヨカーン
195 :
2014/03/02(日) 18:35:11.06
助言ありがとうございます。
ObjCのみであればAcceraleterを使おうかと思ったのですが、Androidに流用したかったので…
196 :
2014/03/02(日) 19:39:36.77
ヤッパリネー
197 :
デフォルトの名無しさん
2014/03/30(日) 03:12:29.11 ID:uuMlwnGH
cereal - A C++11 library for serialization
BSD license.
http://uscilab.github.io/cereal/index.html
198 :
2014/04/03(木) 22:41:34.62 ID:DTWJ4yVe
boost::serializationとどう違うん?
199 :
デフォルトの名無しさん
2014/05/03(土) 19:03:21.65 ID:HUhckLri
C++ JSONのパースとシリアライズライブラリ
http://ichishino.nobody.jp/jsonity/
200 :
2014/05/04(日) 06:56:39.13 ID:g2qq1xmD
Google Testについて質問なのですが、
Combineジェネレータを使ったとき、値パラメータの組み合わせそれぞれについて
コンソールなりXMLなりにテスト状況を表示するのでテスト自体が遅くなったりして困るのですが
Combineジェネレータを使ったテスト狙い撃ちで組み合わせごとの表示を無くす方法はありませんかね…
イベントリスナーを置き換えて表示形式を変更をさせる方法のサンプルは本家のwikiに転がっていますが、(MinimalistPrinter)
これだと全てのテストの表示に変更が及んでしまうという…
201 :
2014/08/10(日) 13:22:32.63 ID:VrE34Uvu
かけー
202 :
デフォルトの名無しさん
2014/10/06(月) 22:11:07.92 ID:tIlHofLk
ネタなーい?
203 :
2014/11/08(土) 14:03:49.33 ID:BM9hg24M
素人だけども一般的に自分書いたコードがどんなもんなのかきになる(´・ω・`)
204 :
2014/11/08(土) 15:43:27.47 ID:D1mfqEl0
うpしてみてわ?
205 :
2014/11/08(土) 16:27:26.40 ID:ebCh2W7f
>>203
GitHubにアップップ
206 :
2014/11/08(土) 17:27:25.59 ID:BM9hg24M
githubってこれあっぷろーだーなの?
207 :
2014/11/08(土) 17:58:17.25 ID:BM9hg24M
ちょっと登録してみる
208 :
2014/11/08(土) 18:34:00.59 ID:BM9hg24M
htps://github.com/sugawara5110/c-code/tree/master/neko-puzzle
209 :
2014/11/08(土) 18:36:58.72 ID:BM9hg24M
あっぷしてみましたのでご意見などいただけると勉強になります(´・ω・`)
210 :
2014/11/08(土) 18:40:48.62 ID:JaU3wmB/
とりあえず.exeはignoreするもの
211 :
2014/11/08(土) 18:43:05.89 ID:BM9hg24M
あーいらんかったってことですか(´・ω・`)
たしかにソースだけあればよかったか・・
212 :
2014/11/08(土) 18:43:43.17 ID:BM9hg24M
さっそく見ていただき感謝いたす
213 :
2014/11/08(土) 19:40:16.69 ID:ebCh2W7f
これで君も猫タコの仲間入りだにゃ!
214 :
2014/11/08(土) 19:53:08.87 ID:BM9hg24M
猫タコ?
215 :
2014/11/08(土) 19:56:53.52 ID:1s+x8/Zl
>>214
GitHubのマスコットキャラ
猫の姿でタコの足のキャラクタがGithubのあちこちにあるっしょ?
オクトキャットっていうらしいよ
216 :
2014/11/08(土) 19:59:55.45 ID:BM9hg24M
あーいわれてみれば
ここの住人はほとんど使ってるのかしら。
他の人のコードも見てみたい
217 :
2014/11/08(土) 22:37:31.35 ID:SdfgCKME
>>209
自動で最適な解を求める機能も
追加しろよ。
218 :
2014/11/09(日) 09:45:50.19 ID:62DRc8BH
>>217
それはいいアイデアですな
219 :
2014/11/09(日) 16:35:08.16 ID:LTV/EpFj
難しいのでわないかいw
220 :
2014/11/09(日) 17:10:06.02 ID:62DRc8BH
最短を求めるとなると私の頭では無理なので
とりあえず自動で最後までそろえるってのだけを目標で・・・
221 :
2014/11/15(土) 01:22:29.68 ID:8XdLSiZM
自動でパズルさせるのはなかなか難しい。
16ピース5回中3回くらいは途中停止する。最後まで行くときは2分くらいで終わる。
64ピースやってみたが6分くらいで行けそうなところ残り4ピースで途中停止した
もう少し調整するかな。勉強になる
222 :
2014/11/17(月) 22:39:43.86 ID:ymrvm2RC
htps://github.com/sugawara5110/c-code/blob/master/neko-puzzle/neko-puzzle.cpp
あの・・最短距離ではないんだけども自動で完成させるプログラム追加しました
よろしければコメントなどを・・・
223 :
2014/11/19(水) 05:09:58.21 ID:g6yRyndh
>>222
なかなかやるな。ちゃんと解けるわ。
この後、何する?
224 :
2014/11/19(水) 18:35:58.24 ID:8L+2ukXn
>>224
ありがたいお言葉(´・ω・`)
画像処理系に興味があるんだが一番適してるライブラリって何だろうね
DXライブラリでやるとなるとGetPixelで色情報取ってどうにかするくらいしか
今のところ思い浮かばぬ
225 :
2014/11/19(水) 21:18:09.65 ID:g6yRyndh
>>224
画像処理系と言っても範囲が広いが
photoshopみたいなのを作りたい
のか?
226 :
2014/11/19(水) 23:20:54.92 ID:8L+2ukXn
最終的にそんなレベルまで行ければ最高だが
まずは指定した範囲の色の変換くらいからやってみたいわ。

前に『C言語で学ぶ実践画像処理』とかいうやつを見たんだが
さっぱりで、何かライブラリ使えばもう少し何とかならんかなと思ってね。
227 :
2014/11/19(水) 23:40:47.01 ID:HNS1lgWg
>>226
そのレベルで悩む位ならGraphics Gemsシリーズを通読してみては?
http://www.glassner.com/portfolio/graphics-gems-series/

今手に入るか微妙だけど。
228 :
2014/11/20(木) 00:03:53.01 ID:gdrc2KWW
さっそくぽちりましたわ
感謝いたす
229 :
2014/11/20(木) 06:56:00.31 ID:4Zrrqf13
opencv 見といたほうがいいよ。
230 :
2014/11/20(木) 19:48:57.40 ID:gdrc2KWW
>>229
これは初めて存在を知った。
さんくす
231 :
2014/12/13(土) 18:07:41.25 ID:jujLqWbt
型推論が議論になってたからどんな難しいことやるのかと思ったら分かりきってることを書かなくて済むだけで
可読性は返ってあがるんじゃないかという物だった
232 :
2014/12/13(土) 18:08:13.84 ID:jujLqWbt
ライブラリのスレだった。スマン
233 :
2015/01/04(日) 11:14:04.62 ID:xl4tJwy6
https://github.com/sugawara5110/c-code/tree/master/slide-puzzle
結局まだパズルいじってました。
よかったらご意見頂けると勉強になります。
出来たexeファイルとhkフォルダ,oggフォルダ,saveフォルダ,z_cam_ewc.bmpファイルと
パズルにする動画(mpg,avi)か画像を同じとこにしていただくと動画像選べます(´・ω・`)
webカメラ繋げると映った映像でできます。
234 :
デフォルトの名無しさん
2015/03/02(月) 14:49:29.94 ID:u4npGgFL
  
235 :
2015/03/20(金) 18:41:36.03 ID:PgACHQnR
236 :
デフォルトの名無しさん
2015/05/01(金) 16:33:07.77 ID:aRUumtfx
map 便利っすよねぇ。簡易DBできちゃう。
237 :
デフォルトの名無しさん
2015/05/01(金) 16:53:10.80 ID:xCWnJTf9
>>236
保存しない。ほとんどの動的言語、スクリプト言語はmapが標準で使われる。
238 :
デフォルトの名無しさん
2015/05/01(金) 18:47:32.57 ID:9/bcUBPU
え そなの?
239 :
2015/05/24(日) 00:41:11.39 ID:+F5s2GBE
自作ライブラリをGithubに晒すも誰もクローンしてくれない
ライブラリ製作者は宣伝もするべきか否か
240 :
2015/05/24(日) 02:13:39.20 ID:Ewhf1zLw
>>239
今ここで宣伝しろ。
面白いライブラリなら使うし、つまらなければ使わない。
241 :
2015/05/24(日) 04:24:51.75 ID:+F5s2GBE
>>240
わかった。

FixedString - 固定長バッファ文字列コンテナ
https://github.com/narupo/fixed-string
Csv - CSVパーサ
https://github.com/narupo/csv-parser

どちらもC11です。
242 :
2015/05/25(月) 11:35:43.43 ID:IHH4zZrw
コンテナやパーサがC++じゃなくて、Cで提供されてどうしろと。。。

さらにプロジェクトも大きいけど、、、
欲しいのはC++のクラスヘッダーで、使用法はインクルードするだけのインスタントに使える小さなヘッダーであって、、、
243 :
2015/05/25(月) 17:32:28.98 ID:eFAMmtaP
>>242
C++互換にしてインストールを簡単にしろってことかな
244 :
2015/05/25(月) 17:47:12.89 ID:eFAMmtaP
というかREADMEにインストール方法書いてないね
ごめんw書いておきます
245 :
2015/05/25(月) 23:31:05.65 ID:WhsXE+Ib
な? 公開するといいことあるだろ?
246 :
2015/05/26(火) 00:15:49.93 ID:gT6Ig0YJ
>>245
そうだね。
247 :
2015/05/26(火) 00:30:31.86 ID:AOagakZ7
C++で使えるようにしても正直要らんから(文字列クラスは標準にあるしCSVパーサーも数十行で書ける)
C言語だけで十分だと思うよ
248 :
2015/05/26(火) 00:46:33.31 ID:gT6Ig0YJ
>>247
std::stringとは設計方針がちょっと違うんだけど、やっぱりそうなるか…
249 :
2015/05/26(火) 07:44:41.52 ID:AOagakZ7
>>248
じゃあ何が違ってどういうメリットがあるんだ?それをまずトップに書かないと。
一応言っておくけど追加できなくなったら何事も無かったかのように勝手に切り詰められるのはメリットとは思わないよ。

あとちらっとソース見たけどマクロとGenericでオーバーロードモドキか…
_GenericはC++に無いからコンパイル通らない。(必要もないから将来的にも絶対入らない。)
だから一生懸命extern "C"とか書かなくて大丈夫だよどの道使えないから。
250 :
2015/05/26(火) 09:23:00.22 ID:gT6Ig0YJ
>>249
> トップに書かないと
確かに。自動で伸縮しない所がメリットでありデメリットでもあると考えてます。
_Genericは…うーん、そうなんですよね。C++でコンパイル通らない。
だから仮にC++に対応させるなら__cplusplusでプリプロセス分岐させようかと思うんだけど。
251 :
2015/05/26(火) 12:06:56.19 ID:8yfffJz/
というか、C言語で、CSVパース出来たとして、何の用とで使えと?
252 :
2015/05/26(火) 23:07:07.73 ID:7l+z4oEP
ちょっと厳しすぎるだろ
みんなが欲しがるようなライブラリなんて、いきなり作れるはずがない
こういうのを作って経験して、もっといいものを公開するようになったり出来るようになるんだろう
253 :
2015/05/27(水) 01:14:53.03 ID:54lVu2mS
他人に見せるライブラリって、何処まで丁寧にエラー処理すれば良いか悩む。
254 :
2015/05/27(水) 02:41:13.23 ID:aJ6ZFegx
>>251
それライブラリ製作者が考えることか?
255 :
2015/05/27(水) 08:48:03.54 ID:O9y07yQ1
考えること。

ソースをライブラリ化するとき、
例えばライブラリフォルダに一式移動する
際、使う人あるかな、使用法わかるかな、とか考える。

もしくは、初めから使いたい人から要求されてライブラリになるな、
と確信してるときは、初めからライブラリフォルダにソースを置き、
始めはインターフェースはそれなりにしといて、中身空のメソッドだったりで、
使いながら育てる。
256 :
2015/05/27(水) 08:59:44.23 ID:zpturinB
アプリケーションを実装する際にできたライブラリか
汎用なライブラリを作りたくてそれだけを作ったかで違ってくるよな

前者はなんかクソな設計で変更が難しいけど実際に動いてる実績があって
後者は延々と理想求めたりして実装がころころ変わったりして
バグフィックスだけで良いのに使う側として常に追いかけなきゃならんとか
257 :
2015/05/27(水) 09:53:36.20 ID:Sp3ce27d
>>253
理想はどんな場合でもハングしないでエラー返してくれることかなぁ。
外からメモリ壊してるとかは無理だけど。
258 :
2015/05/27(水) 09:58:36.91 ID:n6H5is8U
csv パーサも固定長文字列も、必要になった時に、わざわざ検索してライブラリ探さないでしょ。
書いた方が早いし、自分の要求にフィットしたものが得られる。
誰も使ってくれないって当たり前でしょ。
このレベルの細かいものなら、コピペしてすぐ使えるレベルじゃないと。

>>252
親切にしてほしければヨソに行くべき。
259 :
2015/05/27(水) 10:23:50.27 ID:aJ6ZFegx
>>255
あなたの言ってることは大事なことだ思うけど、
鍛冶屋が作ったナイフで鉛筆を削るか干し肉を削ぐかは使用者が決めることじゃないかなぁ。
260 :
2015/05/27(水) 10:42:25.64 ID:aJ6ZFegx
>>258
「誰も使ってくれない」なんて言った覚えはないよ。
この程度の処理で大げさだってことですよね?
うーん、それは確かにそうですね。難しいですねライブラリって。
261 :
デフォルトの名無しさん
2015/05/27(水) 12:17:21.94 ID:4NQ0ZIOa
誰も欲しがらないレベルなんだよな。
C++のプロジェクトにこのライブラリが入ってたら使ってるところとライブラリ全部削除して書き直すレベル
262 :
2015/05/27(水) 12:38:05.44 ID:lhddlPIv
素直にC専用にしたほうがいいと思うがC11とかどれくらい使われてるやら
263 :
2015/05/27(水) 13:05:33.39 ID:O9y07yQ1
>>259
おまえ馬鹿だな。
部品とそれを使うのがバッサリ分れてたのは第三世代言語まで。
開発時に結局部品も修正が必要となって、OOPで部品とその組み合わせとシームレスになったんじゃん。
264 :
2015/05/27(水) 13:12:00.91 ID:O9y07yQ1
>>260
流れ読んでないね。

C言語だと今使われるのはOSとか特殊用途。
メモリ保護とリアルタイム性を保障できるライブラリなら大げさであっても要るだろうけど、OSにCSVパーサーは要らないってこと。

アプリ用のCSVパーサーなら、今のアプリはOOP言語になってるから、C言語用は要らない。
265 :
2015/05/27(水) 14:31:37.57 ID:aJ6ZFegx
>>264
なるほど。それじゃC++に移植したら少しは需要出るかな?つまりアプリ用途で。
266 :
2015/05/27(水) 15:09:54.31 ID:O9y07yQ1
Yes。

普通にググって、GPLじゃないことを確認したら、自分のソースのように使います。
といっても作者名を潰すわけでなく、超気に入った場合は作者のサイトのリンクファイルまでUPしておいたり。

C++のヘッダーだけだったら超OK、
CPPがある場合は自分で気に入らない部分を手直しできそうか目視チェック、
それを超えて大きい場合はサンプルを動かして費用対効果を考えます。
267 :
2015/05/27(水) 15:46:40.38 ID:aJ6ZFegx
>>266
小回りの利いたライブラリも好まれるってことですよね。基本コピペで済むような。
CPPがある場合の手直しって何故するの?コンパイルの都合?
268 :
2015/05/27(水) 16:05:37.46 ID:O9y07yQ1
全然違う。

>小回りの利いたライブラリも好まれるってことですよね。基本コピペで済むような。

クラス派生とかで、簡単に処理を足したり引いたり出来ないと、困るみたいな。

コピペしたくないし、小回りとも違うんだけど。

>CPPがある場合の手直しって何故するの?コンパイルの都合?

Hだと手直ししないって意味じゃなくて、Hだけだと全体を一瞬で読めて、手直しも一瞬って意味。

STLみたいのは手に負えないけど、費用対効果で使う。
269 :
2015/05/27(水) 16:21:52.04 ID:aJ6ZFegx
>>268
ああ、OOPにしろってことね。
270 :
2015/05/28(木) 02:32:35.00 ID:Q/PHM93y
>>265
需要ねえって何度も言ってるだろ・・・

>>266
ちゃんとライセンスに則って扱いましょうね。
GPLじゃなくてもお前のコードじゃないんだよ。
271 :
2015/05/28(木) 04:39:20.67 ID:uU2xmjCS
CSVパーサー(笑)
そんな10分もあれば書けるようなものを
わざわざ怪しげなソース引っ張ってくるバカいないから(笑)
272 :
2015/05/28(木) 05:09:28.73 ID:iUg4+VgF
需要ないのはわかったよ
http://www.kasai.fm/wiki/rfc4180jp
ここに書いてある仕様満たすのに10分かからないって本当?
273 :
2015/05/28(木) 07:13:18.70 ID:GsmtxIyT
C++でライブラリ作るならboostにない機能にしろよ
274 :
2015/05/28(木) 07:20:28.88 ID:qAXCkldS
個人や環境の差があるだろうが10分かからなくてもおかしくはない
とはいえRFC4180をそのまま実装しておわりってことはまずなくて
もっと簡便でいいかしっかり作り込むかで二極化してると思うんだよな
275 :
2015/05/28(木) 07:38:31.92 ID:iUg4+VgF
10分の節約にしかならないなら需要もない訳か
JavaのOrangeSignal CSVとかは作りこんでるライブラリだよね
276 :
2015/05/28(木) 07:54:57.38 ID:/29IIuZp
C11だからなぁ
完全に満たしてようが趣味で使えるレベルであろうがちょいと厳しいものがある
まあ停滞してたスレにいい風吹いたんでないの
277 :
2015/05/28(木) 09:48:20.22 ID:syH+pQKv
>>271
それは真っ赤なウソ、というか現実知らな杉。

毎年(常時)莫大な初心者プログラマが発生し、ググるでCSVパーサーを探し続ける、のが現実wwwww
278 :
2015/05/28(木) 10:48:16.51 ID:syH+pQKv
燃料投下。

boostと被ると要らない、といった意見には、このような現実の反論もあります。

ttp://d.hatena.ne.jp/yus_iri/20120328/1332888387
279 :
2015/05/28(木) 11:55:58.71 ID:C5F/Fv0U
csvパーサなんて、この程度がブログに載っててコピペで使う、くらいで丁度いい。
241 のはメインメモリに全部読まないからメモリにやさしいかもしれないが、メモリ消費量を気にするくらい大きな csv を扱うのは疑問だ。
それにカラムに改行が入ってはならないという制限を付けるだけで、簡単に行単位で扱えるようになり、メモリ消費量が最大の一行分になる。

// " を含んだままカラムと扱う。
// 閉じてない " は最後まで 1 カラム。
const char * endOfCsvColumn( const char * p, const char * end ) {
const char delimiter[] = ",\r\n";
if ( *p != '"' )
return std::find_first_of( p, end, delimiter, delimiter+sizeof(delimiter) );
while ( p != end ) {
p = std::find( ++p, end, '"' );
if ( p != end && (++p == end || *p != '"') )
break; // quatation closed.
}
return p;
}
280 :
2015/05/28(木) 23:20:28.85 ID:bIsDrlAn
そういう俺csvが乱立していたからRFCが出されたのに。
281 :
2015/05/29(金) 00:04:13.41 ID:bAym9d9y
そんな状態でCSVなんかのRFC出されてもそれも需要ないよな。
厳密なのが欲しければおとなしくXMLとかjsonとか使ってる
282 :
2015/05/29(金) 04:51:03.43 ID:qs5f7SgO
>>279
俺csvはともかく、これぐらいのサイズはやっぱり使いやすそうだなぁ
メソッド単位で使いまわせると便利だよな
283 :
2015/05/29(金) 08:02:28.25 ID:BhuuzzRo
改行を含む場合に対応してなくてダブルクォーテーションのアンエスケープも
別にやらなきゃならんというなら素直にtsv使ったほうがいいな。
284 :
2015/05/29(金) 13:06:57.82 ID:PDSs+1CX
279 は改行をを含むカラムに対応してるよ。改行が入ってると 279 を呼ぶ側で fgets() で簡単には済ませられないという話。どうせ大きくても数MB程度だろうから全部読んじまえ。
俺 csv って、エスケープされたままなのは別として、カラム取り出しだけで言えば RFC 準拠だろ。
改行コードに CRLF ではなく LF でも受け付けるのは逸脱だが、そんなん直したけりゃ直せるだろうし、渡す側で行処理するんだからそこでも対処できる。

好きなコンテナに格納することを考えたら、あのくらいの単純さが使いやすいだろう。
プロジェクトによってはもっと仕様を簡素化できるわけで、検索してあれこれ比べて選定するくらいなら、毎回書いても大したことはないということは理解して頂けたのではないかと思う。
285 :
2015/05/29(金) 16:03:21.08 ID:qs5f7SgO
そうなると列数のためにヘッダーが必要になるのか
286 :
2015/05/29(金) 18:59:23.12 ID:Y1+KdLtR
.orecsvの生成読み込み書き込み保存全部自前でやって外に公開しない
我が汚点ここに閉じれり
287 :
2015/05/31(日) 18:44:09.08 ID:qAMsR7U5
コピペで組み込めるコードは魅力的ではある
俺もよくエディタから呼び出してペタペタしてる
288 :
2015/05/31(日) 18:51:30.86 ID:1lTJ4ips
俺もコピペ用の自分専用オナペットを言語ごとに用意してるよ
最近はエディタで一発呼び出しできるから便利だ
289 :
2015/05/31(日) 19:57:59.60 ID:aISW5E8s
>>288
嫁はcharですか?(声が池田秀一だと男だから婿か?)

スニペットって書こうや
290 :
2015/06/01(月) 14:43:55.83 ID:w6ZTYj3g
バナナはおやつに含まれる
これは周知の事実ですがスニペットはライブラリに含まれますか?
291 :
デフォルトの名無しさん
2015/06/01(月) 15:02:44.49 ID:af7LYGUO
僕のバナナはおっきいです
292 :
デフォルトの名無しさん
2015/06/08(月) 17:40:07.97 ID:f6z+oPGU
EigenのMatrixXf型に、幅w 高さhの大きさの配列

float* db = new float[w * h];

をMapで入れる方法おしえてください
293 :
デフォルトの名無しさん
2015/06/09(火) 10:27:41.86 ID:rq1TUv96
MatrixXf A = Map<MatrixXf>(&db[0], w, h);
294 :
デフォルトの名無しさん
2015/06/11(木) 15:20:59.61 ID:SBJGIqGV
redSVDのデータを一気に読み出す方法ないでしょうか?
要素1つずつアクセスしてるととんでもなく時間がかかります。
295 :
片山博文MZ ◆T6xkBnTXz7B0
2015/06/14(日) 15:11:34.31 ID:9Ob0dyvk
アンパンマン、新しい顔ができたよ!!!

メモリ上の仮想ファイル操作(v_file)
https://github.com/katahiromz/v_file

文字列を識別するためのswitch文を生成(MakeSwitchForStrings)
https://github.com/katahiromz/MakeSwitchForStrings
296 :
2015/06/16(火) 14:28:55.50 ID:Xu7A0Hie
297 :
デフォルトの名無しさん
2015/09/02(水) 17:12:22.70 ID:DQQjJ9NG
  
298 :
2015/11/28(土) 14:34:07.15 ID:Fi4wDTmy
RARやZipファイルの解凍ライブラリは何がありますか?
スタティックリンク可能なのが良いです
あと、ファイルに書き出さずメモリ内に展開してくれる機能もほしいです
299 :
2015/12/26(土) 03:41:38.86 ID:sxewN+8H
>>241 はC11のGeneric使ってる人居たんだって所だけは興味深いね
300 :
2015/12/30(水) 06:16:03.09 ID:HSsTu4WU
>>299
作り終わってしばらくは自信あったんですが、
時間が経って改め見るとここの人たちが言うようにあまり便利な代物ではなかったですね
ライブラリ制作むずかしいです
301 :
2016/01/06(水) 12:23:59.24 ID:7f9jZCuf
>>300
それが解っただけでも成長だよ
無理せず頑張れ
302 :
2016/01/08(金) 22:06:12.15 ID:2qKIN/Bt
>>301
はい
ありがとうございます
303 :
デフォルトの名無しさん
2016/04/05(火) 02:46:14.53 ID:2X2ng6yq
age
304 :
2016/05/16(月) 18:32:27.81 ID:PpqHj2Tc
boostいいよね
305 :
2016/07/04(月) 11:38:42.52 ID:wohCeOEw
pocoもあるよ
306 :
2016/07/04(月) 13:45:26.88 ID:Z4HAFPPM
coolか
307 :
2016/08/21(日) 00:07:30.55 ID:s2xwnKiZ
ライブラリ探すときってどう探すのが良いんかね?
素人に教えてくだされ
308 :
2016/08/21(日) 02:42:05.09 ID:lsHNIuDO
とりあえずgithubとsourceforgeを漁る
309 :
デフォルトの名無しさん
2016/08/21(日) 02:50:58.25 ID:pfepwF/n
ググる
310 :
2016/08/21(日) 10:44:40.41 ID:ONJlbRqy
しかないなぁ
311 :
2016/08/22(月) 21:22:02.87 ID:OjHIFgr+
レスサンクス
片っ端から漁ってみようかな

よく使われるものをまとめたwikiとかあればいいのになぁ
312 :
デフォルトの名無しさん
2016/08/22(月) 21:48:55.22 ID:ZPxXQ162
よく使われるならググったらすぐ出るでしょ
313 :
2016/08/22(月) 21:54:11.15 ID:S7EK7X08
然り
314 :
2016/08/22(月) 21:58:32.54 ID:npgbUrT6
情弱なんだろ
315 :
2016/08/22(月) 22:17:24.53 ID:ehbr7t6m
かわいそー
316 :
2016/08/22(月) 22:38:29.52 ID:npgbUrT6
(プログラム開発は無理)
317 :
デフォルトの名無しさん
2016/08/22(月) 22:59:55.07 ID:EtOaB7dZ
Googleってホントに公平なのかな? 自分で公開してると疑念がわいてくるぞ
318 :
デフォルトの名無しさん
2016/08/22(月) 23:10:51.24 ID:ZPxXQ162
>>317
よく使われてないんだろ?
よく使われてるのにGoogleで出てこない!っていうなら言ってることは解る
319 :
2016/08/22(月) 23:25:27.99 ID:JyyoV7BQ
>>317
AdWordsやSEOなどを学べば検索ランキングの仕組みがわかると思う
320 :
2016/08/23(火) 08:46:13.03 ID:uPhg+qti
>>317
金つめば検索上位に来ますって商売じゃなかったっけ?
321 :
デフォルトの名無しさん
2016/08/23(火) 12:30:52.28 ID:82e1JvbW
>>320
それを商売にしてるのはGoogleではない
322 :
2016/08/29(月) 00:41:37.27 ID:fth/j43y
え?
wiki あるだろ?
323 :
2016/10/01(土) 12:46:16.58 ID:dfnenJuX
保守
324 :
デフォルトの名無しさん
2016/11/03(木) 19:28:15.81 ID:vnuawPe0
class を使うだけで
中身は標準Cのままなんて使い方はやっぱだめなの?
325 :
2016/11/03(木) 20:06:29.74 ID:T3nfQxtH
理由があるのであれば
326 :
デフォルトの名無しさん
2016/11/03(木) 20:30:34.05 ID:vnuawPe0
なんていうか、便利なライブラリ使ってしまうより自分で作った方が
面白いからかな・・・
職業にするならそれじゃダメなんだろうけど・・
327 :
2016/11/04(金) 00:45:19.83 ID:6Uh6B4Og
趣味の楽しいことを否定することは誰もできないぜ
ただ俺の場合だとc++機能のつまみ食いが楽しくて(楽できて)やめられなくなっちゃった
328 :
2016/11/04(金) 01:00:25.40 ID:ATlzIavb
自分の手の届かないブラックボックスのコードは仕事では使えない
329 :
2016/11/04(金) 12:39:33.09 ID:lX4+FIXr
趣味ならいいでしょ。
でもやり始めるとどんどんc++のコードになっていくと思う。
c++11は色々便利だし。
330 :
2016/11/04(金) 20:02:19.37 ID:CUjt06/h
C++02 と C++11 の間隙を飛び越える方法を教えてください
331 :
2016/11/04(金) 21:53:57.71 ID:JWDjY2VB
>>330
今、unboostという互換性ライブラリを作ってるから待っててね。
332 :
2016/11/05(土) 00:11:14.56 ID:DL4mqWsO
boostじゃだめすかw
333 :
2016/11/10(木) 15:52:46.33 ID:nmccOsUf
>>331
名前はturbo boostにしようや
334 :
2016/11/10(木) 16:27:28.79 ID:nWtoC1jV
pascalになったでござる
335 :
2016/11/11(金) 18:46:29.16 ID:X9bDlJ5d
>>333
名前は変えないよ。
気に入ってるもん。
336 :
デフォルトの名無しさん
2016/11/15(火) 11:48:34.39 ID:eHQzqCjm
教えてください。
古いパソコンからパラレルプリンタで印刷しているのですが、そのデータを最近のPCに受信し、画像化を行いたいです。
RS232cに変換して他のPCにデータを受信できるところまでは来ました。
RS232cで受信した印刷データを画像化するためのライブラリもしくは方法など知っている方、おられないでしょうか?
なお、ライブラリは有償・無償どちらでも問題ございません。

需要のない質問かもしれませんが、何卒よろしくお願いいたします。
※古いパソコンからパラレル信号までは変えることが出来ません。
337 :
2016/11/15(火) 12:30:56.28 ID:9SsXmVK+
あるわけないだろう。プリンタのコマンドを解釈するんだろうw
338 :
2016/11/15(火) 12:48:32.13 ID:4QSE1fRA
>>336
せめて送り側が Windows なら 出力先を EMF 形式のファイル出力に変えてなんとか出来るけど
あるいは PDFやPostScript 形式 …も多分ついてないだろう

本気でやるならプリンタドライバが内部でやってるようなことを
自力で解析して復号となる そのプリンタの機種ごとの専用ツールとなる
339 :
336
2016/11/15(火) 13:27:31.85 ID:eHQzqCjm
>>337,338
そうですか・・・
プリンタのコマンド解析となるとちょっと心が折れそうですorz
何か良い方法があれば・・・|д゚)
340 :
2016/11/15(火) 13:57:00.67 ID:4QSE1fRA
・そのプリンタの開発者用マニュアル(制御コード解説入り)をもらってくる
・プリンタ出力の内容は制御コード(メインは単純な描画命令)の羅列なので解析する
・アプリの画面なりプリンタイメージなりに描画命令をエミュレートする

工数とやる気があれば言うほど難しくないはず
試しに1ページ出力して解析できるかやってみるといいんじゃね
341 :
2016/11/15(火) 14:47:30.53 ID:9SsXmVK+
>>339
プリンタの機種名は?
342 :
デフォルトの名無しさん
2016/11/15(火) 14:56:38.40 ID:pY5YUGJg
これに答えてやってやれよ
http://itest.2ch.net/test/read.cgi/news4vip/1479189054/l50
343 :
2016/11/15(火) 15:01:31.08 ID:9SsXmVK+
しるかぼけ
344 :
2016/11/15(火) 15:08:19.56 ID:USeI/jnx
ははは
345 :
デフォルトの名無しさん
2016/11/15(火) 15:14:44.43 ID:DuXtNH0u
お願いいたします
346 :
デフォルトの名無しさん
2017/01/21(土) 13:25:41.17 ID:dThE4/1u
boostでいい
347 :
デフォルトの名無しさん
2017/03/22(水) 20:21:34.61 ID:Z7WA23Z2
87KB

新着レスの表示

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

名前:E-mail: