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

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

Linuxプログラミング 2

1 :login:Penguin:2010/02/13(土) 14:53:15 ID:lCBgsQHj
Linux(特有)のプログラミングに関する話題です

前スレ
http://pc11.2ch.net/test/read.cgi/linux/1118024349/

2 :アジェグ4倍 ◆4xAJeG.COM :2010/02/13(土) 16:03:40 ID:mGBOKUh2
Linux(特有)のプログラミングってったら
やっぱCUIの話だよね?


3 :login:Penguin:2010/02/13(土) 17:03:45 ID:TJKctgYE
いや、LinuxでのプログラミングといえばOpenOffice.orgのマクロだろ


4 :login:Penguin:2010/02/13(土) 19:47:35 ID:Tn00P1U3
eclipseの使い方を教えてください。

5 :login:Penguin:2010/02/14(日) 09:39:12 ID:5tEzJbao
NetBeans使ったらいいよ。

6 :login:Penguin:2010/02/14(日) 18:43:09 ID:cKLhOUfG
geditを使ったらいいよ。

7 :login:Penguin:2010/02/14(日) 23:41:39 ID:FNCcI3vj
重要な.hファイルをレビューしてくれる便利なスレ

8 :login:Penguin:2010/02/17(水) 10:41:45 ID:LG688LS7
ptraceの代わりになるやつって、いつになったら出るんだ?

9 :login:Penguin:2010/02/17(水) 20:21:33 ID:honyW9F4
systemtapで頑張る、じゃ駄目か?

10 :login:Penguin:2010/02/17(水) 22:32:59 ID:IOTgDS50
LinuxだのWindowsだのって面倒だからさ、もうWebブラウザのCanvasにJavaScriptで出力すれば良いじゃん
一通り描画機能がそろっているから、何でもありだよ

テキストファイルで書けるし、携帯でもそのまま動く


11 :login:Penguin:2010/02/17(水) 23:58:34 ID:LXLXKQ+J
>>10
フラッシュで良くね?

12 :login:Penguin:2010/02/20(土) 09:09:07 ID:nRp88Zlj
Linux でフラッシュの開発できないじゃん。HTML5で出来るほうがうれしいわ。

ところで、
/usr/bin/ld: Dwarf Error: Offset greater than or equal to .debug_str size
ていうエラーがでて悩まされているのだが、これって一般的にどんな理由ででるの?
ぐぐっても今一よく分らん。ld か、gcc のバグみたいなんだが、どうなの。
gcc のバージョン上げるほうが、トラブル多いのでやりたくないのだが。

13 :login:Penguin:2010/02/20(土) 10:31:53 ID:HTlonogm
コンパイルオプションかmakefileの中身をみないと判らないかも…


14 :login:Penguin:2010/02/20(土) 14:50:17 ID:xHGHiiS6
>>12
一回make cleanした方が良くね?

15 :12:2010/02/20(土) 16:11:07 ID:nRp88Zlj
直りました。link option 見てたら、リンクライブラリが足りなかったので、追加したら直った。
そういえば、Dwarf Error の下に undefined symbol error が出てたわ。
オープンソースだからと、そういうミスじゃなくて自分の環境を疑ってた。

16 :login:Penguin:2010/02/20(土) 22:14:51 ID:sB4t44qX
/dev/ttyS0につながっているケーブルを
抜いて、再度接続するとLinuxってHUPシグナル
勝手に送ってくる?



17 :login:Penguin:2010/02/23(火) 09:52:39 ID:vIQB7Fop
>>12
FlexSDK使えばLinuxでもFlash作れんぞ
しかもタダで

18 :login:Penguin:2010/02/23(火) 15:08:06 ID:0nkv90p7
LinuxでのGCCの使い方がいまいち分からない。。。
だからCのソースファイル→コンパイル&リンク出来ない
しかたなくWindowsでBorlandのC++ Compiler
使ってプログラム作成してます。
BCCの方がリンク作業してくれるし、
何かと便利な気がしなくもない。

19 :login:Penguin:2010/02/23(火) 15:23:26 ID:ItPSxaNh
>>18
eclipseとかanjutaとか使ってみたら。

20 :login:Penguin:2010/02/23(火) 23:56:46 ID:SCYhXebQ
>>18
gccは普通にコンパイル&リンクしてくれるぞ?
問題あるならエラー晒せよ
くだ質で

21 :login:Penguin:2010/02/27(土) 18:55:34 ID:BOrH2yFU
NetBeansつかってみなよ

22 :login:Penguin:2010/02/27(土) 19:02:13 ID:ZHNRN3Op
いやです。ほかはともかく、そればっかりは・・・困るというか

23 :login:Penguin:2010/03/04(木) 20:55:27 ID:N41ZrQSF
プログラミングの勉強を始めたいのですが何言語を勉強すればいいですか
目的はTVチューナーのドライバを書くことですが、アナログチューナーなのですぐに使えなくなるのでやっぱやめます
じゃあローグライクゲームを作ることにしますが、ローグライクはcやc++で作られてるそうですね
じゃあc++にするべきですね?visualstudioみたいなのはLinuxには無いのですか
あとまったくの初心者におすすめのサイトを教えてください
c++を選ぶのであってるですか?も教えてください

24 :login:Penguin:2010/03/04(木) 22:29:21 ID:wUSxBRK0
>>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 :login:Penguin:2010/03/04(木) 23:59:25 ID:uuQpMZ/e
俺も使い方覚えるのめんどいんでIDE使わずにEmacsだが
IDEが標準になるぐらいでないとよいGUIアプリは出てこないだろうな

26 :login:Penguin:2010/03/05(金) 03:27:23 ID:WOCB8/hN
あとgitとか覚えとくと便利かも

27 :login:Penguin:2010/03/05(金) 07:27:34 ID:pKQhUv3w
inode直接操作するプログラム
書きたいんだけど

ユーザ空間だけじゃ無理かな?

28 :login:Penguin:2010/03/05(金) 15:45:32 ID:U1eHb1jX
Linuxの共有メモリってshmatで帰ってくるアドレスが
作成した時と参照した時に違って帰ってくる。
内容はちゃんと合ってるんだけど(CentOS5.4 x84)

Solarisではアドレスも一致しているからポインタなん
かも共有しても安全なんだけどね

29 :28:2010/03/05(金) 16:41:32 ID:U1eHb1jX
自己解決
SHM_REMAPってのがあった。

ちゃんと同じアドレスが帰って来ました。


30 :login:Penguin:2010/03/05(金) 23:46:53 ID:WOCB8/hN
>>27
FUSEではことたりない?

31 :login:Penguin:2010/03/07(日) 10:32:58 ID:C3xf+tVy
>>23
とりあえず、JavaScriptでFireFox用ゲームでも作っとけ


32 :login:Penguin:2010/04/15(木) 02:44:55 ID:7gUXZmzK
Ubuntu Weekly Recipe:第117回 UbuntuとEmacsでプログラミングをはじめよう(中編)|gihyo.jp … 技術評論社
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0117

33 :login:Penguin:2010/04/15(木) 04:57:06 ID:pwt3QHgZ
そのページってコピペ反転できないんだが嫌がらせ?

34 :login:Penguin:2010/04/16(金) 00:08:29 ID:VSCJvoX/
>>33
普通に出来るけど、ブラウザ何使ってんの?w

35 :login:Penguin:2010/04/24(土) 20:27:13 ID:WLgVAzv3
C++でzipを解凍したいんだけど、zlibを使わないと解凍できないの?

36 :login:Penguin:2010/04/24(土) 21:00:20 ID:/2NBYvX3
ご自分で解析なさってライブラリを自作して下さい。

37 :login:Penguin:2010/05/11(火) 00:29:04 ID:+zbJLIvU
epollとpipeの組み合わせた
サンプルってどこかに無いでしょうか?

38 :login:Penguin:2010/05/11(火) 01:52:12 ID:GKkWep32
>>37
3日待て。

39 :login:Penguin:2010/05/19(水) 21:25:20 ID:TftsbxQJ
タイムアウト付きのflockってどうやって作ればいいんだろうか

40 :39:2010/05/19(水) 21:32:19 ID:TftsbxQJ
C言語で。

41 :login:Penguin:2010/05/20(木) 04:32:53 ID:0kcdrzIb
>>39
sigintrrupt(SIGALRM, 1)をしてSIGALRMのハンドラを
設定しておき、alarmをかければEINTRでflockを設定時間後に
抜ける。 

42 :login:Penguin:2010/05/20(木) 23:22:35 ID:ZvMEsZoN
>>41
なるほど。
スレッド使わない限りそれで大丈夫そうだな。ありがとう。
スレッド使うときはまた別の方法考えるか

43 :login:Penguin:2010/05/26(水) 07:36:49 ID:di73yeB6
Ubuntu10.4でコンパイルしたプログラムを
CentOS5.3で実行しようとすると以下のようなエラーが出ます。

/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found

Ubuntuにインストールされているglibcやglibc/glibcxxの方が新しいから、
というのは分かるのですが、
Ubuntu側で対応(コンパイルオプションを変更するなど)して
CentOSでも実行できるようなバイナリを作成することは可能でしょうか。


44 :login:Penguin:2010/05/26(水) 08:05:35 ID:+Qk1ziVc
>>43
最終奥義staticとかどうよ

45 :login:Penguin:2010/05/26(水) 10:44:27 ID:MphoNb0F
staticは剛の拳

46 :login:Penguin:2010/05/26(水) 11:31:10 ID:ixBtjNHi
RH系だったら古いバージョンのコンパイラ、ライブラリが
compat-* パッケージで提供されてるけど、deb系ってそういう
概念たしか無いよね? 

47 :43:2010/05/26(水) 13:23:24 ID:di73yeB6
書き忘れていました。そのプログラムは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 :login:Penguin:2010/05/26(水) 14:02:47 ID:+Qk1ziVc
>>47
glibcのスタティックアーカイブが必要なんじゃないかな、と思う。
*.aが入ったパッケージがあればstaticなバイナリが出来ると思うけど。
fedoraではglibc-staticってパッケージに入ってる。
ubuntuはしらん

49 :login:Penguin:2010/05/26(水) 15:23:04 ID:QStqBRIk
>>47
むり。

# aptitude install gcc-4.1
して、そっちつかえ。


50 :43:2010/05/26(水) 15:35:55 ID:di73yeB6
>>48
mainで始まるプログラムは-staticをつけてビルドできています
> not a dynamic executable
ので、スタティックアーカイブが不足している、ということは無いと思います…
(Ubuntuではlibc.aは libc6-devパッケージに含まれるようです。)

>>49
無理ですか…

ちなみに、本体のexecutableファイルをgcc4.4.2で-staticをつけてコンパイルし、
.soをgcc4.1でコンパイルしてCentOSで実行した場合、
使用されるglibcのバージョンがそれぞれ異なることになると思いますが、
この状況は問題があるのでしょうか。
(サンプルを作ってみた限りでは問題なく動作しているように見えますが)

51 :login:Penguin:2010/06/12(土) 19:42:10 ID:K2M2QRq+
メモリマップって何キロバイトずつ割り当てられるんだっけ?

52 :login:Penguin:2010/07/27(火) 11:02:28 ID:3DcKYDsb
特定のTCPポートへの接続を監視してログに出力したいのですが
WindowsではIP Helper APIというAPIを使って取得できたのですが
Linuxの場合はどのようなAPIがあるでしょうか?
何かヒントになるキーワードがあれば教えてください。

53 :login:Penguin:2010/07/27(火) 11:43:03 ID:1O5g8TAw
SNMP+MRTG

54 :login:Penguin:2010/07/27(火) 14:42:41 ID:EmXpdYGX
>>52
wine

55 :login:Penguin:2010/07/27(火) 14:46:26 ID:3DcKYDsb
マジっすか?LinuxはそういうAPIが無いっすか?

56 :login:Penguin:2010/07/27(火) 15:18:44 ID:66mDo/D6
>>52
man netstat


57 :login:Penguin:2010/07/27(火) 15:57:51 ID:3DcKYDsb
なんと。Linuxならこういうのは簡単だと思ったのに
Windowsより難しいとは。

58 :login:Penguin:2010/07/27(火) 16:22:03 ID:0utad5S3
それって,プログラム書く必要さえ無いんじゃないか…
(UNIX板じゃないんだからちゃんと教えてやれよ.)

59 :login:Penguin:2010/07/27(火) 17:11:36 ID:1O5g8TAw
普通はAPIなんて使わないね

60 :login:Penguin:2010/07/27(火) 17:18:17 ID:3DcKYDsb
何を使うんですか?Linux初めてなんで教えてくださいませ。

61 :login:Penguin:2010/07/27(火) 17:51:06 ID:1O5g8TAw
netstat

62 :login:Penguin:2010/07/27(火) 18:07:17 ID:7hjWYaWJ
>>52
iptablesでSYNパケットがきたらULOGターゲットに飛ばすようにして、
ULOGターゲットから飛んできたnetlinkパケットを捕らえる
アプリケーションを作ればいいだろう。

63 :login:Penguin:2010/07/27(火) 21:14:57 ID:OcuG4Ito
>>52
wireshark のソースを読む

64 :login:Penguin:2010/07/27(火) 21:26:54 ID:K5+BZwp9
netstatのソースはないですかね

65 :login:Penguin:2010/07/27(火) 21:30:16 ID:K5+BZwp9
あった!
http://d.hatena.ne.jp/yasui0906/20080304/p1
これか

66 :login:Penguin:2010/07/28(水) 07:32:29 ID:SziZRLsZ
>>64
あるだろ。
Ubuntu なら apt-get source net-tools とか。

67 :login:Penguin:2010/07/28(水) 11:51:45 ID:txtD3ILB
#include<net/tcp_states.h>
でエラーがでますお

68 :login:Penguin:2010/07/28(水) 13:10:43 ID:4j1eS4Nj
とりあえず、ディストリとバージョン晒せ

69 :login:Penguin:2010/07/28(水) 14:16:27 ID:txtD3ILB
Ubuntuの8.04のvmwareバージョンです。

70 :login:Penguin:2010/07/28(水) 14:46:49 ID:RnYC8Yk9
とりあえず、エラーメッセージを一字一句もらさず正確に晒せ

71 :login:Penguin:2010/07/28(水) 15:08:39 ID:txtD3ILB
コンパイルは
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 :login:Penguin:2010/07/28(水) 15:14:30 ID:Vt/K+IlT
これ見たまんまじゃ?

73 :login:Penguin:2010/07/28(水) 15:41:47 ID:txtD3ILB
なんか
gcc netstat.c -I /usr/src/linux-headers-2.6.24-28/include
とやったらコンパイルできました。


74 :login:Penguin:2010/07/28(水) 15:51:32 ID:txtD3ILB
やばいっす。動きました。
とりあえずポートしか表示されませんでしたけど
IPアドレスも表示できればあとはログに落とせますね。
わーい。

75 :login:Penguin:2010/07/29(木) 01:39:24 ID:5EyS8YE1
次世代型ptrace ってなんだっけ?

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

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

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)