1read 100read
2011年10月1期LinuxLinuxプログラミング 2
TOP カテ一覧 スレ一覧 削除依頼 ▼
・ 次のスレ
【新世代】NixOS【依存性解決?】 ■Linux■RAID SDカード OSカード■Windows■ コンパイルしてワーニングがでると不安になる 【ubuntu】 NetWalker3【ARM】
Linuxプログラミング 2
1 :10/02/13 〜 最終レス :11/11/13 Linux(特有)のプログラミングに関する話題です 前スレ http://pc11.2ch.net/test/read.cgi/linux/1118024349/
2 : Linux(特有)のプログラミングってったら やっぱCUIの話だよね?
3 : いや、LinuxでのプログラミングといえばOpenOffice.orgのマクロだろ
4 : eclipseの使い方を教えてください。
5 : NetBeans使ったらいいよ。
6 : geditを使ったらいいよ。
7 : 重要な.hファイルをレビューしてくれる便利なスレ
8 : ptraceの代わりになるやつって、いつになったら出るんだ?
9 : systemtapで頑張る、じゃ駄目か?
10 : LinuxだのWindowsだのって面倒だからさ、もうWebブラウザのCanvasにJavaScriptで出力すれば良いじゃん 一通り描画機能がそろっているから、何でもありだよ テキストファイルで書けるし、携帯でもそのまま動く
11 : >>10 フラッシュで良くね?
12 : Linux でフラッシュの開発できないじゃん。HTML5で出来るほうがうれしいわ。 ところで、 /usr/bin/ld: Dwarf Error: Offset greater than or equal to .debug_str size ていうエラーがでて悩まされているのだが、これって一般的にどんな理由ででるの? ぐぐっても今一よく分らん。ld か、gcc のバグみたいなんだが、どうなの。 gcc のバージョン上げるほうが、トラブル多いのでやりたくないのだが。
13 : コンパイルオプションかmakefileの中身をみないと判らないかも…
14 : >>12 一回make cleanした方が良くね?
15 : 直りました。link option 見てたら、リンクライブラリが足りなかったので、追加したら直った。 そういえば、Dwarf Error の下に undefined symbol error が出てたわ。 オープンソースだからと、そういうミスじゃなくて自分の環境を疑ってた。
16 : /dev/ttyS0につながっているケーブルを 抜いて、再度接続するとLinuxってHUPシグナル 勝手に送ってくる?
17 : >>12 FlexSDK使えばLinuxでもFlash作れんぞ しかもタダで
18 : LinuxでのGCCの使い方がいまいち分からない。。。 だからCのソースファイル→コンパイル&リンク出来ない しかたなくWindowsでBorlandのC++ Compiler 使ってプログラム作成してます。 BCCの方がリンク作業してくれるし、 何かと便利な気がしなくもない。
19 : >>18 eclipseとかanjutaとか使ってみたら。
20 : >>18 gccは普通にコンパイル&リンクしてくれるぞ? 問題あるならエラー晒せよ くだ質で
21 : NetBeansつかってみなよ
22 : いやです。ほかはともかく、そればっかりは・・・困るというか
23 : プログラミングの勉強を始めたいのですが何言語を勉強すればいいですか 目的はTVチューナーのドライバを書くことですが、アナログチューナーなのですぐに使えなくなるのでやっぱやめます じゃあローグライクゲームを作ることにしますが、ローグライクはcやc++で作られてるそうですね じゃあc++にするべきですね?visualstudioみたいなのはLinuxには無いのですか あとまったくの初心者におすすめのサイトを教えてください c++を選ぶのであってるですか?も教えてください
24 : >>23 linuxでprogrammingするならCをまず覚えたほうがいい visualstudioっていうのはIDEとかだと思われるけど だいたいvimやemacsのeditorで作業するのが一般的なんじゃないだろうか だ.け.ど、あると思うよいっぱい http://penguin.tantin.jp/mori/category/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%83%BBIDE.html こういう所から好きなのを選ぶといい 選ぶというのは難しいことだけど お勧めは分からない 僕はvimを使ってるから
25 : 俺も使い方覚えるのめんどいんでIDE使わずにEmacsだが IDEが標準になるぐらいでないとよいGUIアプリは出てこないだろうな
26 : あとgitとか覚えとくと便利かも
27 : inode直接操作するプログラム 書きたいんだけど ユーザ空間だけじゃ無理かな?
28 : Linuxの共有メモリってshmatで帰ってくるアドレスが 作成した時と参照した時に違って帰ってくる。 内容はちゃんと合ってるんだけど(CentOS5.4 x84) Solarisではアドレスも一致しているからポインタなん かも共有しても安全なんだけどね
29 : 自己解決 SHM_REMAPってのがあった。 ちゃんと同じアドレスが帰って来ました。
30 : >>27 FUSEではことたりない?
31 : >>23 とりあえず、JavaScriptでFireFox用ゲームでも作っとけ
32 : Ubuntu Weekly Recipe:第117回 UbuntuとEmacsでプログラミングをはじめよう(中編)|gihyo.jp … 技術評論社 http://gihyo.jp/admin/serial/01/ubuntu-recipe/0117
33 : そのページってコピペ反転できないんだが嫌がらせ?
34 : >>33 普通に出来るけど、ブラウザ何使ってんの?w
35 : C++でzipを解凍したいんだけど、zlibを使わないと解凍できないの?
36 : ご自分で解析なさってライブラリを自作して下さい。
37 : epollとpipeの組み合わせた サンプルってどこかに無いでしょうか?
38 : >>37 3日待て。
39 : タイムアウト付きのflockってどうやって作ればいいんだろうか
40 : C言語で。
41 : >>39 sigintrrupt(SIGALRM, 1)をしてSIGALRMのハンドラを 設定しておき、alarmをかければEINTRでflockを設定時間後に 抜ける。
42 : >>41 なるほど。 スレッド使わない限りそれで大丈夫そうだな。ありがとう。 スレッド使うときはまた別の方法考えるか
43 : Ubuntu10.4でコンパイルしたプログラムを CentOS5.3で実行しようとすると以下のようなエラーが出ます。 /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found Ubuntuにインストールされているglibcやglibc/glibcxxの方が新しいから、 というのは分かるのですが、 Ubuntu側で対応(コンパイルオプションを変更するなど)して CentOSでも実行できるようなバイナリを作成することは可能でしょうか。
44 : >>43 最終奥義staticとかどうよ
45 : staticは剛の拳
46 : RH系だったら古いバージョンのコンパイラ、ライブラリが compat-* パッケージで提供されてるけど、deb系ってそういう 概念たしか無いよね?
47 : 書き忘れていました。そのプログラムはshared objectも含んでいます… (本体からはdlopenで利用しています) staticリンクを試してみたところ、本体は-staticでコンパイルできました。 ですが、.soの方のコンパイル方法がよく分かりません。 通常は gcc -shared libhello.c -o libhello.so で作成すると思うのですが、これにglibcをstaticリンクしようと思い gcc -shared libhello.c -o libhello.so -Wl,-Bstatic -lc -Wl,-Bdynamic (参考: ttp://jarp.does.notwork.org/diary/200309a.html#200309081) としてみたのですが、 ldd libhello.soの結果は > linux-gate.so.1 => (0x00b23000) > libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00110000) > /lib/ld-linux.so.2 (0x00c0b000) となり、相変わらずlibcがdynamic linkされているようでした。 .soにstaticリンクするにはどうすれば良いでしょうか。
48 : >>47 glibcのスタティックアーカイブが必要なんじゃないかな、と思う。 *.aが入ったパッケージがあればstaticなバイナリが出来ると思うけど。 fedoraではglibc-staticってパッケージに入ってる。 ubuntuはしらん
49 : >>47 むり。 # aptitude install gcc-4.1 して、そっちつかえ。
50 : >>48 mainで始まるプログラムは-staticをつけてビルドできています > not a dynamic executable ので、スタティックアーカイブが不足している、ということは無いと思います… (Ubuntuではlibc.aは libc6-devパッケージに含まれるようです。) >>49 無理ですか… ちなみに、本体のexecutableファイルをgcc4.4.2で-staticをつけてコンパイルし、 .soをgcc4.1でコンパイルしてCentOSで実行した場合、 使用されるglibcのバージョンがそれぞれ異なることになると思いますが、 この状況は問題があるのでしょうか。 (サンプルを作ってみた限りでは問題なく動作しているように見えますが)
51 : メモリマップって何キロバイトずつ割り当てられるんだっけ?
52 : 特定のTCPポートへの接続を監視してログに出力したいのですが WindowsではIP Helper APIというAPIを使って取得できたのですが Linuxの場合はどのようなAPIがあるでしょうか? 何かヒントになるキーワードがあれば教えてください。
53 : SNMP+MRTG
54 : >>52 wine
55 : マジっすか?LinuxはそういうAPIが無いっすか?
56 : >>52 man netstat
57 : なんと。Linuxならこういうのは簡単だと思ったのに Windowsより難しいとは。
58 : それって,プログラム書く必要さえ無いんじゃないか… (UNIX板じゃないんだからちゃんと教えてやれよ.)
59 : 普通はAPIなんて使わないね
60 : 何を使うんですか?Linux初めてなんで教えてくださいませ。
61 : netstat
62 : >>52 iptablesでSYNパケットがきたらULOGターゲットに飛ばすようにして、 ULOGターゲットから飛んできたnetlinkパケットを捕らえる アプリケーションを作ればいいだろう。
63 : >>52 wireshark のソースを読む
64 : netstatのソースはないですかね
65 : あった! http://d.hatena.ne.jp/yasui0906/20080304/p1 これか
66 : >>64 あるだろ。 Ubuntu なら apt-get source net-tools とか。
67 : #include<net/tcp_states.h> でエラーがでますお
68 : とりあえず、ディストリとバージョン晒せ
69 : Ubuntuの8.04のvmwareバージョンです。
70 : とりあえず、エラーメッセージを一字一句もらさず正確に晒せ
71 : コンパイルは gcc netstat.c としてます。 こんなエラーです! netstat.c:5:27: error: net/tcp_states.h: No such file or directory netstat.c: In function ‘scount’: netstat.c:27: error: ‘TCPF_ESTABLISHED’ undeclared (first use in this function) netstat.c:27: error: (Each undeclared identifier is reported only once netstat.c:27: error: for each function it appears in.)
72 : これ見たまんまじゃ?
73 : なんか gcc netstat.c -I /usr/src/linux-headers-2.6.24-28/include とやったらコンパイルできました。
74 : やばいっす。動きました。 とりあえずポートしか表示されませんでしたけど IPアドレスも表示できればあとはログに落とせますね。 わーい。
75 : 次世代型ptrace ってなんだっけ?
76 : -O2 -march=amdfam10 -m32 -free-vectorize で握ったzlibがバグありだこれ 報告すべきかすべきでないか…
77 : どんな問題があるんですか?
78 : ちなみにgcc-4.5ね fedora使ってると、rpmの機能のかなりの部分が使えなくなる
79 : Xウィンドウ実践技術講座 基礎から応用まで 代1版が92年だしやっぱり内容古いかな
80 : ptraceの代わりになる予定のutraceって いつになったら代わってくれるんだ? 誰が舵取ってんの?
81 : >>23 Linuxのドライバプログラミングの本を読んでみたけど、えらい難しかった。 しかもバグった場合はパソコンがどうかなっちゃうみたいなことが書かれてあって、 こりゃ無理だと。
82 : >>81 Windowsもドライバーバグってたらきれいな青い画面が見れますよ
83 : ドライバプログラミングの本って、グレー色の本?
84 : お馬さんが有名です。
85 : 何のドライバを作るかにもよる キャラクタデバイスならそんなに難しくないよ。 ブロックデバイスはもう少し難易度高いけど、キャラクタの延長だから 頑張ればなんとかなる。 ネットワークドライバは確かにえらい難しいw
86 : デバイスドライバと言ったらUSBドライバだよね。 この説明に多くのページを費やして詳述してくれているものがいいね。
87 : 最近だとみんなUSB-シリアルとして認識して通信するので意味ないわ・・・
88 : 低レベルの方の標準入力のファイルディスクリプタの定数って どのヘッダに定義されてたっけ?
89 : Linuxの場合はAPIとは言わないのですか?
90 : GtkとQt 新しく勉強するなら どっちがいいですか
91 : >>90 そりゃQtだろ・・・
92 : すみません。 理由もあると助かります どのディストリもGNOMEを採用していて、Qtは追加でインストールなんですけど そういったことも含めてQtになるのでしょうか?
93 : >>92 Qtの方が書いてて楽しいから。 あと、ドキュメントが一元で整備されてて更新頻度も高く ライブラリも管理されているので割と安心できる。 日本語化された情報もかなり多い。 欠点は企業開発なのでノキアが死んだらつられて死ぬ 可能性がちょっと高いということか。
94 : >>93 そのときは誰かが引き継いでオープンソース化するんでわないかと
95 : きっとOracleが買い取ってくれるよ
96 : Qtのライセンスが怖いですね。企業の利害がからむと特に。 Linuxですらもいくつものをかかえているんでしょ?
97 : >>96 怖いっていっても誰もあんたなんか相手にせんやろ
98 : >>97 が責任をとってくれるそうです。
99 : >>96 ほとんどがFUDだけどな。 Microsoftの、 「うちの特許を侵害している。だけど、どこの部分が特許を侵害してるかは契約結ばないと教えてあげない」 とか、もう完全なカツアゲ
100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼 ▲
・ 次のスレ
【新世代】NixOS【依存性解決?】 ■Linux■RAID SDカード OSカード■Windows■ コンパイルしてワーニングがでると不安になる 【ubuntu】 NetWalker3【ARM】