X



トップページLinux
506コメント157KB

Linuxプログラミング 2

0003login:Penguin
垢版 |
2010/02/13(土) 17:03:45ID:TJKctgYE
いや、LinuxでのプログラミングといえばOpenOffice.orgのマクロだろ
0004login:Penguin
垢版 |
2010/02/13(土) 19:47:35ID:Tn00P1U3
eclipseの使い方を教えてください。
0005login:Penguin
垢版 |
2010/02/14(日) 09:39:12ID:5tEzJbao
NetBeans使ったらいいよ。
0006login:Penguin
垢版 |
2010/02/14(日) 18:43:09ID:cKLhOUfG
geditを使ったらいいよ。
0007login:Penguin
垢版 |
2010/02/14(日) 23:41:39ID:FNCcI3vj
重要な.hファイルをレビューしてくれる便利なスレ
0008login:Penguin
垢版 |
2010/02/17(水) 10:41:45ID:LG688LS7
ptraceの代わりになるやつって、いつになったら出るんだ?
0009login:Penguin
垢版 |
2010/02/17(水) 20:21:33ID:honyW9F4
systemtapで頑張る、じゃ駄目か?
0010login:Penguin
垢版 |
2010/02/17(水) 22:32:59ID:IOTgDS50
LinuxだのWindowsだのって面倒だからさ、もうWebブラウザのCanvasにJavaScriptで出力すれば良いじゃん
一通り描画機能がそろっているから、何でもありだよ

テキストファイルで書けるし、携帯でもそのまま動く
0012login:Penguin
垢版 |
2010/02/20(土) 09:09:07ID:nRp88Zlj
Linux でフラッシュの開発できないじゃん。HTML5で出来るほうがうれしいわ。

ところで、
/usr/bin/ld: Dwarf Error: Offset greater than or equal to .debug_str size
ていうエラーがでて悩まされているのだが、これって一般的にどんな理由ででるの?
ぐぐっても今一よく分らん。ld か、gcc のバグみたいなんだが、どうなの。
gcc のバージョン上げるほうが、トラブル多いのでやりたくないのだが。
0013login:Penguin
垢版 |
2010/02/20(土) 10:31:53ID:HTlonogm
コンパイルオプションかmakefileの中身をみないと判らないかも…
001512
垢版 |
2010/02/20(土) 16:11:07ID:nRp88Zlj
直りました。link option 見てたら、リンクライブラリが足りなかったので、追加したら直った。
そういえば、Dwarf Error の下に undefined symbol error が出てたわ。
オープンソースだからと、そういうミスじゃなくて自分の環境を疑ってた。
0016login:Penguin
垢版 |
2010/02/20(土) 22:14:51ID:sB4t44qX
/dev/ttyS0につながっているケーブルを
抜いて、再度接続するとLinuxってHUPシグナル
勝手に送ってくる?

0017login:Penguin
垢版 |
2010/02/23(火) 09:52:39ID:vIQB7Fop
>>12
FlexSDK使えばLinuxでもFlash作れんぞ
しかもタダで
0018login:Penguin
垢版 |
2010/02/23(火) 15:08:06ID:0nkv90p7
LinuxでのGCCの使い方がいまいち分からない。。。
だからCのソースファイル→コンパイル&リンク出来ない
しかたなくWindowsでBorlandのC++ Compiler
使ってプログラム作成してます。
BCCの方がリンク作業してくれるし、
何かと便利な気がしなくもない。
0019login:Penguin
垢版 |
2010/02/23(火) 15:23:26ID:ItPSxaNh
>>18
eclipseとかanjutaとか使ってみたら。
0020login:Penguin
垢版 |
2010/02/23(火) 23:56:46ID:SCYhXebQ
>>18
gccは普通にコンパイル&リンクしてくれるぞ?
問題あるならエラー晒せよ
くだ質で
0021login:Penguin
垢版 |
2010/02/27(土) 18:55:34ID:BOrH2yFU
NetBeansつかってみなよ
0022login:Penguin
垢版 |
2010/02/27(土) 19:02:13ID:ZHNRN3Op
いやです。ほかはともかく、そればっかりは・・・困るというか
0023login:Penguin
垢版 |
2010/03/04(木) 20:55:27ID:N41ZrQSF
プログラミングの勉強を始めたいのですが何言語を勉強すればいいですか
目的はTVチューナーのドライバを書くことですが、アナログチューナーなのですぐに使えなくなるのでやっぱやめます
じゃあローグライクゲームを作ることにしますが、ローグライクはcやc++で作られてるそうですね
じゃあc++にするべきですね?visualstudioみたいなのはLinuxには無いのですか
あとまったくの初心者におすすめのサイトを教えてください
c++を選ぶのであってるですか?も教えてください
0024login:Penguin
垢版 |
2010/03/04(木) 22:29:21ID: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を使ってるから
0025login:Penguin
垢版 |
2010/03/04(木) 23:59:25ID:uuQpMZ/e
俺も使い方覚えるのめんどいんでIDE使わずにEmacsだが
IDEが標準になるぐらいでないとよいGUIアプリは出てこないだろうな
0026login:Penguin
垢版 |
2010/03/05(金) 03:27:23ID:WOCB8/hN
あとgitとか覚えとくと便利かも
0027login:Penguin
垢版 |
2010/03/05(金) 07:27:34ID:pKQhUv3w
inode直接操作するプログラム
書きたいんだけど

ユーザ空間だけじゃ無理かな?
0028login:Penguin
垢版 |
2010/03/05(金) 15:45:32ID:U1eHb1jX
Linuxの共有メモリってshmatで帰ってくるアドレスが
作成した時と参照した時に違って帰ってくる。
内容はちゃんと合ってるんだけど(CentOS5.4 x84)

Solarisではアドレスも一致しているからポインタなん
かも共有しても安全なんだけどね
002928
垢版 |
2010/03/05(金) 16:41:32ID:U1eHb1jX
自己解決
SHM_REMAPってのがあった。

ちゃんと同じアドレスが帰って来ました。
0031login:Penguin
垢版 |
2010/03/07(日) 10:32:58ID:C3xf+tVy
>>23
とりあえず、JavaScriptでFireFox用ゲームでも作っとけ
0033login:Penguin
垢版 |
2010/04/15(木) 04:57:06ID:pwt3QHgZ
そのページってコピペ反転できないんだが嫌がらせ?
0034login:Penguin
垢版 |
2010/04/16(金) 00:08:29ID:VSCJvoX/
>>33
普通に出来るけど、ブラウザ何使ってんの?w
0035login:Penguin
垢版 |
2010/04/24(土) 20:27:13ID:WLgVAzv3
C++でzipを解凍したいんだけど、zlibを使わないと解凍できないの?
0036login:Penguin
垢版 |
2010/04/24(土) 21:00:20ID:/2NBYvX3
ご自分で解析なさってライブラリを自作して下さい。
0037login:Penguin
垢版 |
2010/05/11(火) 00:29:04ID:+zbJLIvU
epollとpipeの組み合わせた
サンプルってどこかに無いでしょうか?
0039login:Penguin
垢版 |
2010/05/19(水) 21:25:20ID:TftsbxQJ
タイムアウト付きのflockってどうやって作ればいいんだろうか
004039
垢版 |
2010/05/19(水) 21:32:19ID:TftsbxQJ
C言語で。
0041login:Penguin
垢版 |
2010/05/20(木) 04:32:53ID:0kcdrzIb
>>39
sigintrrupt(SIGALRM, 1)をしてSIGALRMのハンドラを
設定しておき、alarmをかければEINTRでflockを設定時間後に
抜ける。 
0042login:Penguin
垢版 |
2010/05/20(木) 23:22:35ID:ZvMEsZoN
>>41
なるほど。
スレッド使わない限りそれで大丈夫そうだな。ありがとう。
スレッド使うときはまた別の方法考えるか
0043login:Penguin
垢版 |
2010/05/26(水) 07:36:49ID:di73yeB6
Ubuntu10.4でコンパイルしたプログラムを
CentOS5.3で実行しようとすると以下のようなエラーが出ます。

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

Ubuntuにインストールされているglibcやglibc/glibcxxの方が新しいから、
というのは分かるのですが、
Ubuntu側で対応(コンパイルオプションを変更するなど)して
CentOSでも実行できるようなバイナリを作成することは可能でしょうか。
0046login:Penguin
垢版 |
2010/05/26(水) 11:31:10ID:ixBtjNHi
RH系だったら古いバージョンのコンパイラ、ライブラリが
compat-* パッケージで提供されてるけど、deb系ってそういう
概念たしか無いよね? 
004743
垢版 |
2010/05/26(水) 13:23:24ID: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リンクするにはどうすれば良いでしょうか。
0048login:Penguin
垢版 |
2010/05/26(水) 14:02:47ID:+Qk1ziVc
>>47
glibcのスタティックアーカイブが必要なんじゃないかな、と思う。
*.aが入ったパッケージがあればstaticなバイナリが出来ると思うけど。
fedoraではglibc-staticってパッケージに入ってる。
ubuntuはしらん
0049login:Penguin
垢版 |
2010/05/26(水) 15:23:04ID:QStqBRIk
>>47
むり。

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

>>49
無理ですか…

ちなみに、本体のexecutableファイルをgcc4.4.2で-staticをつけてコンパイルし、
.soをgcc4.1でコンパイルしてCentOSで実行した場合、
使用されるglibcのバージョンがそれぞれ異なることになると思いますが、
この状況は問題があるのでしょうか。
(サンプルを作ってみた限りでは問題なく動作しているように見えますが)
0051login:Penguin
垢版 |
2010/06/12(土) 19:42:10ID:K2M2QRq+
メモリマップって何キロバイトずつ割り当てられるんだっけ?
0052login:Penguin
垢版 |
2010/07/27(火) 11:02:28ID:3DcKYDsb
特定のTCPポートへの接続を監視してログに出力したいのですが
WindowsではIP Helper APIというAPIを使って取得できたのですが
Linuxの場合はどのようなAPIがあるでしょうか?
何かヒントになるキーワードがあれば教えてください。
0055login:Penguin
垢版 |
2010/07/27(火) 14:46:26ID:3DcKYDsb
マジっすか?LinuxはそういうAPIが無いっすか?
0057login:Penguin
垢版 |
2010/07/27(火) 15:57:51ID:3DcKYDsb
なんと。Linuxならこういうのは簡単だと思ったのに
Windowsより難しいとは。
0058login:Penguin
垢版 |
2010/07/27(火) 16:22:03ID:0utad5S3
それって,プログラム書く必要さえ無いんじゃないか…
(UNIX板じゃないんだからちゃんと教えてやれよ.)
0059login:Penguin
垢版 |
2010/07/27(火) 17:11:36ID:1O5g8TAw
普通はAPIなんて使わないね
0060login:Penguin
垢版 |
2010/07/27(火) 17:18:17ID:3DcKYDsb
何を使うんですか?Linux初めてなんで教えてくださいませ。
0062login:Penguin
垢版 |
2010/07/27(火) 18:07:17ID:7hjWYaWJ
>>52
iptablesでSYNパケットがきたらULOGターゲットに飛ばすようにして、
ULOGターゲットから飛んできたnetlinkパケットを捕らえる
アプリケーションを作ればいいだろう。
0064login:Penguin
垢版 |
2010/07/27(火) 21:26:54ID:K5+BZwp9
netstatのソースはないですかね
0066login:Penguin
垢版 |
2010/07/28(水) 07:32:29ID:SziZRLsZ
>>64
あるだろ。
Ubuntu なら apt-get source net-tools とか。
0067login:Penguin
垢版 |
2010/07/28(水) 11:51:45ID:txtD3ILB
#include<net/tcp_states.h>
でエラーがでますお
0068login:Penguin
垢版 |
2010/07/28(水) 13:10:43ID:4j1eS4Nj
とりあえず、ディストリとバージョン晒せ
0069login:Penguin
垢版 |
2010/07/28(水) 14:16:27ID:txtD3ILB
Ubuntuの8.04のvmwareバージョンです。
0070login:Penguin
垢版 |
2010/07/28(水) 14:46:49ID:RnYC8Yk9
とりあえず、エラーメッセージを一字一句もらさず正確に晒せ
0071login:Penguin
垢版 |
2010/07/28(水) 15:08:39ID: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.)
0072login:Penguin
垢版 |
2010/07/28(水) 15:14:30ID:Vt/K+IlT
これ見たまんまじゃ?
0073login:Penguin
垢版 |
2010/07/28(水) 15:41:47ID:txtD3ILB
なんか
gcc netstat.c -I /usr/src/linux-headers-2.6.24-28/include
とやったらコンパイルできました。
0074login:Penguin
垢版 |
2010/07/28(水) 15:51:32ID:txtD3ILB
やばいっす。動きました。
とりあえずポートしか表示されませんでしたけど
IPアドレスも表示できればあとはログに落とせますね。
わーい。
0075login:Penguin
垢版 |
2010/07/29(木) 01:39:24ID:5EyS8YE1
次世代型ptrace ってなんだっけ?
0076login:Penguin
垢版 |
2010/08/07(土) 09:19:15ID:TnDsM19L
-O2 -march=amdfam10 -m32 -free-vectorize で握ったzlibがバグありだこれ
報告すべきかすべきでないか…
0077login:Penguin
垢版 |
2010/08/17(火) 07:46:34ID:2bRgFm2K
どんな問題があるんですか?
0078login:Penguin
垢版 |
2010/08/17(火) 22:16:40ID:CS/oaTLk
ちなみにgcc-4.5ね

fedora使ってると、rpmの機能のかなりの部分が使えなくなる
0079login:Penguin
垢版 |
2010/08/19(木) 22:11:02ID:lwsITLE0
Xウィンドウ実践技術講座 基礎から応用まで
代1版が92年だしやっぱり内容古いかな
0080login:Penguin
垢版 |
2010/08/29(日) 04:13:38ID:gK7tzFYA
ptraceの代わりになる予定のutraceって
いつになったら代わってくれるんだ?
誰が舵取ってんの?
0081login:Penguin
垢版 |
2010/08/29(日) 11:24:57ID:W5Uooo7S
>>23
Linuxのドライバプログラミングの本を読んでみたけど、えらい難しかった。
しかもバグった場合はパソコンがどうかなっちゃうみたいなことが書かれてあって、
こりゃ無理だと。
0082login:Penguin
垢版 |
2010/08/29(日) 23:09:01ID:i6AxMvgi
>>81
Windowsもドライバーバグってたらきれいな青い画面が見れますよ
0083login:Penguin
垢版 |
2010/08/30(月) 13:53:15ID:PuulG8pr
ドライバプログラミングの本って、グレー色の本?
0084login:Penguin
垢版 |
2010/08/31(火) 00:28:02ID:Q1YyNOak
お馬さんが有名です。
0085login:Penguin
垢版 |
2010/08/31(火) 02:27:49ID:SSjmEOpK
何のドライバを作るかにもよる

キャラクタデバイスならそんなに難しくないよ。
ブロックデバイスはもう少し難易度高いけど、キャラクタの延長だから
頑張ればなんとかなる。
ネットワークドライバは確かにえらい難しいw
0086login:Penguin
垢版 |
2010/08/31(火) 22:37:34ID:xnYNlRcx
デバイスドライバと言ったらUSBドライバだよね。
この説明に多くのページを費やして詳述してくれているものがいいね。
0087login:Penguin
垢版 |
2010/09/01(水) 01:09:53ID:AVfJp7rO
最近だとみんなUSB-シリアルとして認識して通信するので意味ないわ・・・
0088login:Penguin
垢版 |
2010/09/12(日) 20:08:21ID:6v8xa5he
低レベルの方の標準入力のファイルディスクリプタの定数って
どのヘッダに定義されてたっけ?
0089login:Penguin
垢版 |
2010/09/14(火) 13:58:21ID:k2J0JpsQ
Linuxの場合はAPIとは言わないのですか?
0090login:Penguin
垢版 |
2010/09/14(火) 18:57:49ID:LSsKRnY3
GtkとQt
新しく勉強するなら どっちがいいですか
0092login:Penguin
垢版 |
2010/09/14(火) 23:12:37ID:LSsKRnY3
すみません。
理由もあると助かります

どのディストリもGNOMEを採用していて、Qtは追加でインストールなんですけど
そういったことも含めてQtになるのでしょうか?
0093login:Penguin
垢版 |
2010/09/15(水) 13:26:10ID:+FCbXRSZ
>>92
Qtの方が書いてて楽しいから。
あと、ドキュメントが一元で整備されてて更新頻度も高く
ライブラリも管理されているので割と安心できる。
日本語化された情報もかなり多い。

欠点は企業開発なのでノキアが死んだらつられて死ぬ
可能性がちょっと高いということか。
0094login:Penguin
垢版 |
2010/09/16(木) 02:52:05ID:hDEjq2dq
>>93
そのときは誰かが引き継いでオープンソース化するんでわないかと
0095login:Penguin
垢版 |
2010/09/16(木) 02:54:52ID:nTUB3ECz
きっとOracleが買い取ってくれるよ
0096login:Penguin
垢版 |
2010/09/16(木) 03:25:35ID:Mp0/1x9U
Qtのライセンスが怖いですね。企業の利害がからむと特に。
Linuxですらもいくつもの訴訟をかかえているんでしょ?
0097login:Penguin
垢版 |
2010/09/16(木) 03:27:07ID:nTUB3ECz
>>96
怖いっていっても誰もあんたなんか相手にせんやろ
0098login:Penguin
垢版 |
2010/09/16(木) 03:36:08ID:Mp0/1x9U
>>97が責任をとってくれるそうです。
0099login:Penguin
垢版 |
2010/09/16(木) 03:49:09ID:XRWA1m87
>>96
ほとんどがFUDだけどな。
Microsoftの、
「うちの特許を侵害している。だけど、どこの部分が特許を侵害してるかは契約結ばないと教えてあげない」
とか、もう完全なカツアゲ
0100login:Penguin
垢版 |
2010/09/16(木) 04:19:49ID:d3TNE23i
久しぶりに声出してわろたwww
0101login:Penguin
垢版 |
2010/09/16(木) 04:40:16ID:XRWA1m87
>>96
つか、GTKやりたいなら、GTKやったら?
GTKもGlade3とかでプログラミングはずいぶん楽になってるし、
今はgtk--も充分使えるしね。
GNOMEの方が標準的なのもおっしゃるとおりだし。
別にGnome-Gtkやってから、Qtやっても大した問題じゃないというか、
その経験は別に無駄にならないよ。
改めて、ああ、こういう切り口もあるんだ、って経験になるはず。
レスを投稿する


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