UNIXプログラミング質問すれ Part10

■ このスレッドは過去ログ倉庫に格納されています
2011/04/18(月) 17:06:36.77
UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド 

前スレ 
Part9 http://hibari.2ch.net/test/read.cgi/tech/1205795434/
Part8 http://pc11.2ch.net/test/read.cgi/tech/1147946176/ ;
Part7 http://pc8.2ch.net/test/read.cgi/tech/1127373405/ ;
Part6 http://pc8.2ch.net/test/read.cgi/tech/1116908090/ ;
Part5 http://pc8.2ch.net/test/read.cgi/tech/1105723117/ ;
Part4 http://pc5.2ch.net/test/read.cgi/tech/1095843584/ ;
Part3 http://pc5.2ch.net/test/read.cgi/tech/1085930894/ ;
Part2 http://pc5.2ch.net/test/read.cgi/tech/1055110889/ ;
Part1 http://pc2.2ch.net/tech/kako/992/992057422.html ;


Part3のミラー 
http://makimo.to/2ch/pc5_tech/1085/1085930894.html ;
Part2のミラー 
http://makimo.to/2ch/pc5_tech/1055/1055110889.html ;
2015/08/08(土) 02:11:57.62ID:hvTU1eUO
>>770
EDFの勇猛さを見せてやれ!
2015/08/08(土) 02:25:39.01ID:kkkSL9bh
緑の地球があぶないぞー♪
#ヨドバシのCMがこれになってしまう
773片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/08/08(土) 15:27:35.91ID:mgSCA6PB
depthが違うと描画できない。
だからDefaultDepthで描画してXImageに流し込み、
XYBitmapに手動で変換。

これでOK?
2015/08/08(土) 15:35:34.62ID:Uc25d9Au
>>773
誘導
ttp://katahiromz.web.fc2.com/
2015/08/08(土) 18:09:39.54ID:mgSCA6PB
自己解決しました
776片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/08/19(水) 23:07:11.24ID:ynuNSl9L
引き続きBASICの開発をしています。
X11プログラミングで「かな」キーを使いたくて、
そのウィンドウでは邪魔な日本語入力システムを無効にしたい
んだけど、どうすればええんや?
2015/08/20(木) 15:18:27.94ID:522SpRvB
自己解決しました。

XIM xim = XOpenIM(m_disp, NULL, NULL, NULL);
XIC xic = XCreateIC(xim,
XNInputStyle, XIMPreeditNothing | XIMStatusNone,
XNClientWindow, m_win,
XNFocusWindow, m_win,
NULL);
2015/08/20(木) 18:00:33.04ID:LiIz1jSH
誘導
ttp://katahiromz.web.fc2.com/
2015/08/20(木) 18:22:39.10ID:BI1Ot8hx
>>778
自宅案内してどうすんだよwww
2015/09/07(月) 23:43:54.86ID:oEsRUnbq
ttps://youtu.be/LyY1SWR-qdk
こういったツールというかブラウザを作りたいのですが
プログラミング言語はどのようなものを学べば良いのでしょうか

とりあえず「プログラミング 質問」
で辿り着いたこのスレで質問させてもらいますが、場違いなら申し訳ないです。。
もし可能なら誘導願います。
2015/09/08(火) 00:15:27.57ID:AqjnEPGq
>>780
CでもC++でもPascalでもJavaでもご自由にどうぞ。
2015/09/09(水) 22:22:35.91ID:uRg9+L4g
>>781
どんな感じで勉強すればいいんですかね、とりあえず参考書や参考になるページ等あれば知りたいです。
2015/09/09(水) 23:15:34.20ID:pORKeFgH
>>782
個別の事をそれぞれ探せばいいだけじゃないの?
とりあえず何かの言語そのものについてよく知ること(どれでもいい)
その言語で目標に必要なことを一つずつ調べる
ってだけなんだよ

生のCだろうがC++だろうが、JVM上の言語だろうが、LL系言語だろうが手順は変わらないよ
2015/09/10(木) 01:28:54.48ID:VfgrnjcJ
>>782
すべての答えがあるなら自分で作る意味ないだろ。
必要と思われるものは自分でそろえるんだよ。
学びってそういうもんだよ。
785デフォルトの名無しさん
垢版 |
2015/09/27(日) 02:49:33.29ID:2d7NuPfA
ソケットについておしえてください
いつくつかwebサイトや本を読みましたが
struct sockaddr_in には長さがあるものないもの、
ポートがunsigned shortのものin_port_tのもの
など様々な相違があるようです
私のシステムFreeBSD9.3-i386ではsin_lenが存在しin_port_t型でsin_portが定義されています
なぜ違いあるのかまた各システムにどのような違いがあるのか教えてください
または参考となるwebサイトなどがあればお願いします
2015/09/27(日) 03:12:43.04ID:Aie1F5/k
32/64bitなど、様々なシステムもあるし、
プログラマーも様々

どのように構造体を作るのも自由だから、
各プログラマーが独自に作っているのだろう

ライブラリの内部で、どういう構造体を使おうと、
最終的には、イーサネットの仕様書に合わせて、
パケットは作られる
2015/10/12(月) 15:48:40.51ID:pxYHqVTj
コマンドラインインタフェースの実装でCISCOルータのCLIのようにタブキーを押すと候補が出るような実装をしたいのですが
どうやればいいのでしょうか?
参考になるサイト等あれば教えて下さい。
2015/10/12(月) 16:28:01.67ID:AfVSnc2r
Do you know ggrks?
2015/10/12(月) 23:48:17.10ID:SJaaQaP/
>>788
ぐぐっても出てこないんだよ
キーワードがわからない。
2015/10/13(火) 00:39:48.59ID:/HfCo80J
>>787
タブキーだったら候補を出せばいいんじゃないの?
2015/10/13(火) 07:01:55.87ID:wS7dKnQY
>>790
何を打ったか常に監視するってことだよな?
ループの中でgetcharするイメージ?
2015/10/13(火) 11:01:34.42ID:8m7sAafc
>>789
オートコンプリート、自動補完
2015/10/13(火) 23:11:55.66ID:3mL35rpK
>>787
readline じゃいかんの?
2015/10/13(火) 23:44:53.00ID:bkkKySdk
だね、bashもこれ使ってんだろ
2015/10/14(水) 06:53:30.98ID:2ChufbG/
>>792
それじゃでてこない
2015/10/14(水) 07:56:05.77ID:AV8Y6RLf
UNIXのコマンドラインプログラムはデフォルトではキーボードの押下をユーザープログラムが直接受け取ることが出来ない
キーボードの押下はカーネル側でキャッチされ、カーネルにより画面にエコーバックされ、カーネル側の入力のバッファに溜まる
改行に相当するキーが押されてはじめてバッファに溜まっていた入力がまとめてユーザプログラムに渡される

タブキーを押して候補を表示するようなプログラムは、上記デフォルトモードを別のモードへ変更する必要がある
これにはたぶんtermios(3)とかで参照できるカーネルAPIを使う必要がある
古いUNIXでは入力に対するioctl(2)を直接使うことが多かった
でもreadlineみたいなライブラリを使うほうが簡単だろうな
2015/10/14(水) 10:17:04.26ID:sQV3pFxD
>>795
馬鹿には無理、諦めるが肝心
798デフォルトの名無しさん
垢版 |
2015/10/14(水) 11:30:43.18ID:EGTHNy+H
rlwrapでよくね
2015/10/14(水) 14:39:53.65ID:NrBXnG0t
>>796
草の根BBSが流行った頃ターミナルソフト作るためにioctlやりまくったなー
もうあんなのやだ(つかやらないで済む時代になってうれしい)

けどUnixのTerminalサポートするのは今でも結構つらいよね。
ClojureでEmacsライクなエディタ作ろうとしてGUIサイドはどってことないのにTermcap触った瞬間から地獄になって投げたわ
2015/10/14(水) 22:21:24.79ID:2ChufbG/
検索ワードはこれかな?「ノンブロック getchar」

このブログ記事が参考になるな。

「getcharをnonblockingで行う ( ターミナルからの入力で改行を待たない )」
2015/10/14(水) 23:01:50.81ID:2ChufbG/
rawモードとかノンカノニカルモードとかがポイントだな
2015/10/14(水) 23:09:02.30ID:p0+PvMt8
馬鹿には無理だってwww
803デフォルトの名無しさん
垢版 |
2015/10/14(水) 23:21:36.26ID:5HbAHV4d
>>802
お前、性格悪いね。消えたら?
2015/10/14(水) 23:30:21.59ID:2ChufbG/
>>800
このブログのコードはcygwinでも動いた
805デフォルトの名無しさん
垢版 |
2015/10/15(木) 07:50:14.32ID:Jc9I9p20
ここの住民レベル低過ぎてワロタwww
2015/10/15(木) 09:57:54.09ID:bgi6gKWM
>>803
お前の性格は良いのか(笑)
2015/10/15(木) 10:28:25.11ID:bdlPZJI1
馬鹿には無理
便利な言葉です
2015/10/15(木) 10:36:42.36ID:8odITiKe
googleの使い方がわからない
人のアドバイスは無視する
やたら連投する

救いようがありません♭
2015/10/15(木) 13:38:25.62ID:CkBS4JKP
stty で端末の設定を変える。
バファリング・エコーをoff
system("stty raw -echo")
バファリング・エコーをon
system("stty cooked echo")

dd で押されたキーを取得。
1バイト転送して、エラー出力を捨てる
dd_cmd = "dd bs=1 count=1 2>/dev/null"

dd_cmd | getline key
close(dd_cmd)
2015/10/15(木) 16:14:21.29ID:DrVVm1l+
次の本を読んでからこのスレに書き込んでね

詳解UNIXプログラミング
エキスパートCプログラミング
811デフォルトの名無しさん
垢版 |
2015/10/15(木) 20:38:31.35ID:6VaIlzUA
いや、もう>>800でFAだから。
2015/10/15(木) 21:13:21.78ID:icvNGXaw
てゆうか何だったんだ? > CISCOルータ
2015/10/15(木) 21:39:37.58ID:h5xen+Qp
馬鹿ネットワーク技術者だったか。何で無能なんだろ。
2015/10/16(金) 00:17:39.90ID:fz/aJ+or
>>806
ニフラム言ってるだけの子なんだよ、察してあげなよ
2015/10/16(金) 08:06:39.18ID:CAnHd74U
>>803
かまうのはよせw
2015/10/16(金) 13:55:15.30ID:xn2kVXMJ
>>814
「ニフラム」かメモメモ
817デフォルトの名無しさん
垢版 |
2015/10/17(土) 13:01:09.35ID:0Wjec6mz
どんなに技術があっても人を茶化すような奴は所詮たいしたことない奴だよ
2015/10/17(土) 13:45:01.99ID:jFMfpi0y
>>817
キモイからどっか逝け
お前に存在価値はない
2015/10/17(土) 15:04:18.68ID:S1mOm2Nj
またニフラム君がきたぞw
2015/10/17(土) 16:45:39.23ID:wWETib34
>>818
ニフラムさん今日もお勤めご苦労さまですw
2015/10/18(日) 01:57:46.77ID:Kfk1zXQv
ニフラムってさ
相手との遭遇をなかったことにするんだよな

いつまで経っても未経験のまんま
2015/10/18(日) 10:17:11.02ID:1oChFQjU
>>796
なんでこんな回りくどいやり方しか思いつかないの?
2015/10/18(日) 10:45:51.05ID:EniZd4JV
何言ってんだお前
824デフォルトの名無しさん
垢版 |
2015/10/18(日) 19:09:39.36ID:zwvDDOCv
>>823
無能だなwハゲ
825デフォルトの名無しさん
垢版 |
2015/10/22(木) 22:40:46.38ID:TKyrAkIB
疎通確認のためcat hosts(grep でコメント行など削除)をパイプでpingに渡したんですがpingが発行されないです。バグですか?
2015/10/22(木) 22:42:28.43ID:IeN1W9z9
>>825
入力コマンド晒してくれさい
2015/10/23(金) 01:15:24.42ID:PxOWJO4j
>>825
pingがstdinからhost名受け付けるのってどんな処理系?
828デフォルトの名無しさん
垢版 |
2015/10/23(金) 02:59:50.01ID:yDnEGRAb
>>826
cat hosts l ping
2015/10/23(金) 08:55:16.88ID:Pn67H/qf
>>828
流石に無理だ
2015/10/23(金) 11:07:16.21ID:9hpieugb
xargsかな
2015/10/23(金) 11:51:02.14ID:uWexH+L6
〜100列件っての思い出した
832デフォルトの名無しさん
垢版 |
2015/10/23(金) 12:22:45.18ID:yDnEGRAb
ごめん。端折りすぎた
cat hosts l awk '{print $2}' でホスト名のリストを取得した。

で、そいつをパイプ経由でpingしたわけさ
2015/10/23(金) 12:45:47.36ID:X3P3rUpi
>>832
awkのsystem関数使え
2015/10/23(金) 13:51:55.86ID:KfqstdW8
ポートスキャン禁止
2015/11/01(日) 14:19:33.90ID:cQN+SvvU
>>832
それじゃ ping を無引数で実行して標準入力からホスト名のリストを入力することになってる
わかりやすく bash/ksh で愚直に書くと

for ff in `cat /etc/hosts | grep -v '^#' | grep -v '^$' | awk '{print $2;}'`
do
 ping ${ff}
done

ファイル /etc/hosts の中で # から始まるコメント行と空行だけは除外するようにした
あとインデントのために行頭に全角空白文字入れてあるから space/tab に置換して
2015/11/24(火) 00:37:44.22ID:YJQOp7Th
Motifって人気あるけど、標準じゃないよね? 他にいい選択肢ないの?
2015/11/24(火) 01:38:32.81ID:+ebJ8Cop
>>836
なんか20年ぶり位に聞いた感じMotif
つか今時X11アプリ書くのに使うのか?と思わないこともない。
2015/11/24(火) 02:09:48.16ID:YJQOp7Th
Xaw3dがよさそうだが、書籍あるかな?
839片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2015/11/24(火) 18:10:49.46ID:YJQOp7Th
Xt+Xawでアイドル時処理はどうやるの? 教えてちょんまげ
2015/11/24(火) 21:15:15.72ID:8d9+0wl3
そもそもX11も終わりを迎えようとしてるのに何をいまさら
2015/11/24(火) 21:48:50.01ID:YJQOp7Th
いやいやまだ終わらんよ

Mac OSとLinuxでサポートされているのは大きい
2015/11/24(火) 23:18:46.91ID:+ebJ8Cop
>>841
DesktopとしてのX11はもう死んだも同然じゃないか
それでもあえてX11アプリ書くというなら、今だとgnomeにしとけばいいんじゃないの?
X11書籍いくつかもっててXawのも手元にあるけど、ものっそ古いし。
なんかMZさん20年以上前の技術かつ、すでに死語な物引っ張り出してる感半端ないnndakedo.

#いやむしろMZ氏ならSchemeから生のX11LibベースのGUIライブラリ書いた方がよくね?
#昔のOMRONのUnixマシンがLispベースのアレゲ感あった感じで
2015/11/24(火) 23:34:02.25ID:8d9+0wl3
いや、そのLinuxがもうX11からWaylandに移行しようとしてるんだよ
一応ある程度の互換性保つようだけど、ほんとにもういまさらなんだよ
2015/11/25(水) 00:35:59.72ID:WGqqylpJ
残された選択肢はQt、GTK+、Tcl/Tkあたりになるのか。。。
GTK+昔触ったことあるから思い出して使ってみるか。。。
2015/11/26(木) 05:58:57.49ID:tASN5hyu
androidやChromeの様に独自ウインドウシステムつくるべし
846デフォルトの名無しさん
垢版 |
2015/11/26(木) 08:22:44.38ID:dcxxprpp
【 オンラインTCGエディター 】 >>1

デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。

例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
バトスピ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、ガンダム・ウォー、ライブオン、ディメンション・ゼロ、カードヒーローなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書いて。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストして。
WEB通信での対戦は、個vs個、多数乱戦、チームvsチーム、個vsチームを可能な仕様とする方針。

設計思想は 《 RPGツクール 》 が良いかな?  他に、優れたエディター有ったら挙げてみて。

個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。

エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。

遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
なるべく前述3つで可能な再現は全て実装させる方向を目指す。 まぁ努力する・・・
バトスピ、ヴァンガ、バディ、デュエマなど発売済みゲームソフトが存在してるケースはベンダーに研究させる。

各社TCGを再現するテストプレイ ⇒ 更に改良や修正。

機能制限した下位版を5万円以上で発売 + デュエリ−グ用に改造した上位版でサーバー稼動=営業開始。

下位版の改造および商用利用には、別途で当社との契約が必要。

さ〜て、製作ベンダー見つけよっと!ww(クス
http://wc2014.2ch.net/test/read.cgi/entrance2/1448404407/-13
2015/11/26(木) 12:09:47.91ID:0Rc82yPU
>>845
それは私の仕事ではない。
2015/11/26(木) 19:59:57.44ID:tASN5hyu
>>847
君の仕事はなぁに?
2015/11/26(木) 23:50:28.52ID:huY8yWFD
自宅警備員に決まってるだろjk
2015/11/30(月) 21:25:19.74ID:UQmO47jh
LaTeX以外でchm,html,pdfに変換できてハイクオリティな出版も可能な簡単な文書プロセッサってなあに?
2015/11/30(月) 21:35:01.98ID:XhEfnzOJ
粛清
2015/12/01(火) 13:51:33.48ID:wfTLHpyu
>>850
PostScriptで関数(というかマクロ)を必要なだけ作ればTeXと同じことが出来るよ。
boxes-and-glue modelを理解してる事前提なのと、TeXは動的計画法で箱の配置を決定してるから
TeXと全く同じように出力するには少し骨を折る必要があるけど
やるだけの価値はある。

PostScriptはファイルの入出力もサポートしてるから、文書を読み取って内部データに変換して、
HTMLならHTML形式に変換するプログラムも書こうと思えば書けるし
PDFもASCIIコードの範囲内で(圧縮以外の)全ての機能が使えるから
PDF形式への変換プログラムも書こうと思えばPostScriptで書ける。

chmの形式は知らん。
2015/12/01(火) 13:55:37.34ID:wfTLHpyu
可能か、否かの意味では可能って意味ならm4使ってhtmlやpdfを作るのも楽しいかも知れん・・・・・・。
2015/12/02(水) 00:30:25.26ID:4qQZZbn5
現実的にはDITAかな。
「ハイクオリティな出版」を求めるなら組版のチューニングで
相当頑張らないといけないけど。
2015/12/02(水) 19:07:25.39ID:s2q3U9h2
>>854
抱いたか? 良さそうですな
2015/12/05(土) 12:45:00.11ID:AWNlkBec
>>852
さてはやったことないなw
PSですべて書くのは非効率。プロセッサ自体をPSで書く必要もない。
PSは飽くまで出力言語として使うだけであって 他のお手軽/お好みのscript言語で
書いたscriptにPSを吐かせるのが ここにいるUNIXersには普通のやりかただよ
2015/12/05(土) 12:49:48.80ID:oCbOGloR
Pandocを採用したよっ
2015/12/05(土) 15:31:50.30ID:3X0n/q/1
>>856
やったことはあるでよ。
動的計画法じゃなくてfirst-fitで箱を詰めてく感じにしたけど。

> PSですべて書くのは非効率。プロセッサ自体をPSで書く必要もない。
> PSは飽くまで出力言語として使うだけであって 他のお手軽/お好みのscript言語で
> 書いたscriptにPSを吐かせるのが ここにいるUNIXersには普通のやりかただよ
完全に同意するよ。
LaTeX以外で、htmlやpdfなんかに変換できて(つまり何らかの出力として得ることが出来て)、
ハイクオリティな出版も可能で、文法が簡単で、
それ自体が文書プロセッサにもなってる言語としてPostScriptを挙げたって話だよ。
生のPostScriptを使いたくない?perlに吐かせりゃ良いんじゃない?
2015/12/17(木) 19:46:55.27ID:DR+j++tI
Linuxの64ビット事情、どうなってる?
2015/12/17(木) 22:21:50.96ID:RFQK/sQs
質問が雑すぎ

ARMなどの他のアーキテクチャのバイナリや、
システムそのものもVirtualMachine介さずに動作するから
64/32bit間の差なんてそれを動かすためのライブラリで
HDDの容量食うのを気にするぐらい
2015/12/17(木) 22:41:12.38ID:ORM8WttR
片山にマジレスw
2015/12/18(金) 19:03:33.33ID:mbvyIjbK
ほんそれな
2015/12/18(金) 20:29:31.39ID:9aF9cvEF
>>859
sizeof(time_t) == 8
です
2016/01/15(金) 19:04:43.93ID:kPzcSoAF
open(2)について
詳解UNIXプログラミングではfcntl.hをインクルードすることになっていますが
ぐぐった限りではsys/types.h, sys/stat.hもインクルードしなければならないようです
どちらが正しいのでしょうか
2016/01/16(土) 17:10:40.00ID:T83PzPld
>>864
http://pubs.opengroup.org/onlinepubs/9699919799/functions/open.html
2016/01/16(土) 17:40:09.91ID:cHljheUy
>>865
なるほど変わったんですね
ありがとうございます
867sage
垢版 |
2016/03/27(日) 21:54:03.49ID:w5ZDFKAh
仕事に関係する関連知識の取得のためにFreeBSDのNetwork周りのソースコードを読み始めたのですが、
bpfドライバのコードで躓きました。一応、いろいろググってみたのですが、、明確な回答を得ることができない次第です。

以下の関数bpf_buffer_append_bytesで利用されていないbpf_d構造体が引数として存在します。

void
bpf_buffer_append_bytes(struct bpf_d *d, caddr_t buf, u_int offset,
void *src, u_int len)
{
u_char *src_bytes;

src_bytes = (u_char *)src;
bcopy(src_bytes, buf + offset, len);
}

一例として、bpf_buffer_append_byteを例に出しましたが色々なとこで、利用しない引数を持つ関数や
マクロを確認しているのですが、どのような意図を狙っているか確認したいです。

想像している意図としては
1.他の*nixとの互換性のため
2.今後拡張していく際に利用していない引数が使われる予定である。
3.テストメソッドを作成する際にこの引数を利用する

となりますが、実際プログラマーとして勤めている方はこのような利用しない引数を取る関数を設計する際に
どのような狙いを持って作成しますか?

一般論レベルでも構わないので回答いただけると幸いです。

以上
よろしくお願いいたします。
2016/03/27(日) 22:33:57.38ID:xC2rcFta
FreeBSDのスレで聞いて見たら
2016/03/27(日) 22:46:10.15ID:BZ0vZXVN
他のドライバと共通化の柵とか
2016/03/27(日) 23:02:59.94ID:xC2rcFta
ただのユーティリティ関数だわな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況