C/C++のライブラリ総合スレ
■ このスレッドは過去ログ倉庫に格納されています
便利で役立つライブラリを総合的に扱うスレがないので立てました
便利なライブラリをここに挙げてみたり
やりたい事を実現できるライブラリを聞いてみたり
ライブラリに関する雑談をするスレです htps://github.com/sugawara5110/c-code/tree/master/neko-puzzle あっぷしてみましたのでご意見などいただけると勉強になります(´・ω・`) あーいらんかったってことですか(´・ω・`)
たしかにソースだけあればよかったか・・ >>214
GitHubのマスコットキャラ
猫の姿でタコの足のキャラクタがGithubのあちこちにあるっしょ?
オクトキャットっていうらしいよ あーいわれてみれば
ここの住人はほとんど使ってるのかしら。
他の人のコードも見てみたい >>209
自動で最適な解を求める機能も
追加しろよ。 最短を求めるとなると私の頭では無理なので
とりあえず自動で最後までそろえるってのだけを目標で・・・ 自動でパズルさせるのはなかなか難しい。
16ピース5回中3回くらいは途中停止する。最後まで行くときは2分くらいで終わる。
64ピースやってみたが6分くらいで行けそうなところ残り4ピースで途中停止した
もう少し調整するかな。勉強になる htps://github.com/sugawara5110/c-code/blob/master/neko-puzzle/neko-puzzle.cpp
あの・・最短距離ではないんだけども自動で完成させるプログラム追加しました
よろしければコメントなどを・・・ >>222
なかなかやるな。ちゃんと解けるわ。
この後、何する? >>224
ありがたいお言葉(´・ω・`)
画像処理系に興味があるんだが一番適してるライブラリって何だろうね
DXライブラリでやるとなるとGetPixelで色情報取ってどうにかするくらいしか
今のところ思い浮かばぬ >>224
画像処理系と言っても範囲が広いが
photoshopみたいなのを作りたい
のか? 最終的にそんなレベルまで行ければ最高だが
まずは指定した範囲の色の変換くらいからやってみたいわ。
前に『C言語で学ぶ実践画像処理』とかいうやつを見たんだが
さっぱりで、何かライブラリ使えばもう少し何とかならんかなと思ってね。 型推論が議論になってたからどんな難しいことやるのかと思ったら分かりきってることを書かなくて済むだけで
可読性は返ってあがるんじゃないかという物だった https://github.com/sugawara5110/c-code/tree/master/slide-puzzle
結局まだパズルいじってました。
よかったらご意見頂けると勉強になります。
出来たexeファイルとhkフォルダ,oggフォルダ,saveフォルダ,z_cam_ewc.bmpファイルと
パズルにする動画(mpg,avi)か画像を同じとこにしていただくと動画像選べます(´・ω・`)
webカメラ繋げると映った映像でできます。 >>236
保存しない。ほとんどの動的言語、スクリプト言語はmapが標準で使われる。 自作ライブラリをGithubに晒すも誰もクローンしてくれない
ライブラリ製作者は宣伝もするべきか否か >>239
今ここで宣伝しろ。
面白いライブラリなら使うし、つまらなければ使わない。 コンテナやパーサがC++じゃなくて、Cで提供されてどうしろと。。。
さらにプロジェクトも大きいけど、、、
欲しいのはC++のクラスヘッダーで、使用法はインクルードするだけのインスタントに使える小さなヘッダーであって、、、 >>242
C++互換にしてインストールを簡単にしろってことかな というかREADMEにインストール方法書いてないね
ごめんw書いておきます C++で使えるようにしても正直要らんから(文字列クラスは標準にあるしCSVパーサーも数十行で書ける)
C言語だけで十分だと思うよ >>247
std::stringとは設計方針がちょっと違うんだけど、やっぱりそうなるか… >>248
じゃあ何が違ってどういうメリットがあるんだ?それをまずトップに書かないと。
一応言っておくけど追加できなくなったら何事も無かったかのように勝手に切り詰められるのはメリットとは思わないよ。
あとちらっとソース見たけどマクロとGenericでオーバーロードモドキか…
_GenericはC++に無いからコンパイル通らない。(必要もないから将来的にも絶対入らない。)
だから一生懸命extern "C"とか書かなくて大丈夫だよどの道使えないから。 >>249
> トップに書かないと
確かに。自動で伸縮しない所がメリットでありデメリットでもあると考えてます。
_Genericは…うーん、そうなんですよね。C++でコンパイル通らない。
だから仮にC++に対応させるなら__cplusplusでプリプロセス分岐させようかと思うんだけど。 というか、C言語で、CSVパース出来たとして、何の用とで使えと? ちょっと厳しすぎるだろ
みんなが欲しがるようなライブラリなんて、いきなり作れるはずがない
こういうのを作って経験して、もっといいものを公開するようになったり出来るようになるんだろう 他人に見せるライブラリって、何処まで丁寧にエラー処理すれば良いか悩む。 考えること。
ソースをライブラリ化するとき、
例えばライブラリフォルダに一式移動する
際、使う人あるかな、使用法わかるかな、とか考える。
もしくは、初めから使いたい人から要求されてライブラリになるな、
と確信してるときは、初めからライブラリフォルダにソースを置き、
始めはインターフェースはそれなりにしといて、中身空のメソッドだったりで、
使いながら育てる。 アプリケーションを実装する際にできたライブラリか
汎用なライブラリを作りたくてそれだけを作ったかで違ってくるよな
前者はなんかクソな設計で変更が難しいけど実際に動いてる実績があって
後者は延々と理想求めたりして実装がころころ変わったりして
バグフィックスだけで良いのに使う側として常に追いかけなきゃならんとか >>253
理想はどんな場合でもハングしないでエラー返してくれることかなぁ。
外からメモリ壊してるとかは無理だけど。 csv パーサも固定長文字列も、必要になった時に、わざわざ検索してライブラリ探さないでしょ。
書いた方が早いし、自分の要求にフィットしたものが得られる。
誰も使ってくれないって当たり前でしょ。
このレベルの細かいものなら、コピペしてすぐ使えるレベルじゃないと。
>>252
親切にしてほしければヨソに行くべき。 >>255
あなたの言ってることは大事なことだ思うけど、
鍛冶屋が作ったナイフで鉛筆を削るか干し肉を削ぐかは使用者が決めることじゃないかなぁ。 >>258
「誰も使ってくれない」なんて言った覚えはないよ。
この程度の処理で大げさだってことですよね?
うーん、それは確かにそうですね。難しいですねライブラリって。 誰も欲しがらないレベルなんだよな。
C++のプロジェクトにこのライブラリが入ってたら使ってるところとライブラリ全部削除して書き直すレベル 素直にC専用にしたほうがいいと思うがC11とかどれくらい使われてるやら >>259
おまえ馬鹿だな。
部品とそれを使うのがバッサリ分れてたのは第三世代言語まで。
開発時に結局部品も修正が必要となって、OOPで部品とその組み合わせとシームレスになったんじゃん。 >>260
流れ読んでないね。
C言語だと今使われるのはOSとか特殊用途。
メモリ保護とリアルタイム性を保障できるライブラリなら大げさであっても要るだろうけど、OSにCSVパーサーは要らないってこと。
アプリ用のCSVパーサーなら、今のアプリはOOP言語になってるから、C言語用は要らない。 >>264
なるほど。それじゃC++に移植したら少しは需要出るかな?つまりアプリ用途で。 Yes。
普通にググって、GPLじゃないことを確認したら、自分のソースのように使います。
といっても作者名を潰すわけでなく、超気に入った場合は作者のサイトのリンクファイルまでUPしておいたり。
C++のヘッダーだけだったら超OK、
CPPがある場合は自分で気に入らない部分を手直しできそうか目視チェック、
それを超えて大きい場合はサンプルを動かして費用対効果を考えます。 >>266
小回りの利いたライブラリも好まれるってことですよね。基本コピペで済むような。
CPPがある場合の手直しって何故するの?コンパイルの都合? 全然違う。
>小回りの利いたライブラリも好まれるってことですよね。基本コピペで済むような。
クラス派生とかで、簡単に処理を足したり引いたり出来ないと、困るみたいな。
コピペしたくないし、小回りとも違うんだけど。
>CPPがある場合の手直しって何故するの?コンパイルの都合?
Hだと手直ししないって意味じゃなくて、Hだけだと全体を一瞬で読めて、手直しも一瞬って意味。
STLみたいのは手に負えないけど、費用対効果で使う。 >>265
需要ねえって何度も言ってるだろ・・・
>>266
ちゃんとライセンスに則って扱いましょうね。
GPLじゃなくてもお前のコードじゃないんだよ。 CSVパーサー(笑)
そんな10分もあれば書けるようなものを
わざわざ怪しげなソース引っ張ってくるバカいないから(笑) 需要ないのはわかったよ
http://www.kasai.fm/wiki/rfc4180jp
ここに書いてある仕様満たすのに10分かからないって本当? C++でライブラリ作るならboostにない機能にしろよ 個人や環境の差があるだろうが10分かからなくてもおかしくはない
とはいえRFC4180をそのまま実装しておわりってことはまずなくて
もっと簡便でいいかしっかり作り込むかで二極化してると思うんだよな 10分の節約にしかならないなら需要もない訳か
JavaのOrangeSignal CSVとかは作りこんでるライブラリだよね C11だからなぁ
完全に満たしてようが趣味で使えるレベルであろうがちょいと厳しいものがある
まあ停滞してたスレにいい風吹いたんでないの >>271
それは真っ赤なウソ、というか現実知らな杉。
毎年(常時)莫大な初心者プログラマが発生し、ググるでCSVパーサーを探し続ける、のが現実wwwww 燃料投下。
boostと被ると要らない、といった意見には、このような現実の反論もあります。
ttp://d.hatena.ne.jp/yus_iri/20120328/1332888387 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;
} そういう俺csvが乱立していたからRFCが出されたのに。 そんな状態でCSVなんかのRFC出されてもそれも需要ないよな。
厳密なのが欲しければおとなしくXMLとかjsonとか使ってる >>279
俺csvはともかく、これぐらいのサイズはやっぱり使いやすそうだなぁ
メソッド単位で使いまわせると便利だよな 改行を含む場合に対応してなくてダブルクォーテーションのアンエスケープも
別にやらなきゃならんというなら素直にtsv使ったほうがいいな。 279 は改行をを含むカラムに対応してるよ。改行が入ってると 279 を呼ぶ側で fgets() で簡単には済ませられないという話。どうせ大きくても数MB程度だろうから全部読んじまえ。
俺 csv って、エスケープされたままなのは別として、カラム取り出しだけで言えば RFC 準拠だろ。
改行コードに CRLF ではなく LF でも受け付けるのは逸脱だが、そんなん直したけりゃ直せるだろうし、渡す側で行処理するんだからそこでも対処できる。
好きなコンテナに格納することを考えたら、あのくらいの単純さが使いやすいだろう。
プロジェクトによってはもっと仕様を簡素化できるわけで、検索してあれこれ比べて選定するくらいなら、毎回書いても大したことはないということは理解して頂けたのではないかと思う。 .orecsvの生成読み込み書き込み保存全部自前でやって外に公開しない
我が汚点ここに閉じれり コピペで組み込めるコードは魅力的ではある
俺もよくエディタから呼び出してペタペタしてる 俺もコピペ用の自分専用オナペットを言語ごとに用意してるよ
最近はエディタで一発呼び出しできるから便利だ >>288
嫁はcharですか?(声が池田秀一だと男だから婿か?)
スニペットって書こうや バナナはおやつに含まれる
これは周知の事実ですがスニペットはライブラリに含まれますか? EigenのMatrixXf型に、幅w 高さhの大きさの配列
float* db = new float[w * h];
をMapで入れる方法おしえてください MatrixXf A = Map<MatrixXf>(&db[0], w, h); redSVDのデータを一気に読み出す方法ないでしょうか?
要素1つずつアクセスしてるととんでもなく時間がかかります。 アンパンマン、新しい顔ができたよ!!!
メモリ上の仮想ファイル操作(v_file)
https://github.com/katahiromz/v_file
文字列を識別するためのswitch文を生成(MakeSwitchForStrings)
https://github.com/katahiromz/MakeSwitchForStrings RARやZipファイルの解凍ライブラリは何がありますか?
スタティックリンク可能なのが良いです
あと、ファイルに書き出さずメモリ内に展開してくれる機能もほしいです >>241 はC11のGeneric使ってる人居たんだって所だけは興味深いね >>299
作り終わってしばらくは自信あったんですが、
時間が経って改め見るとここの人たちが言うようにあまり便利な代物ではなかったですね
ライブラリ制作むずかしいです >>300
それが解っただけでも成長だよ
無理せず頑張れ ライブラリ探すときってどう探すのが良いんかね?
素人に教えてくだされ とりあえずgithubとsourceforgeを漁る ■ このスレッドは過去ログ倉庫に格納されています