Linuxプログラミング
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
01/09/02 20:31ID:8eEfRqZ20608login:Penguin
03/02/14 14:50ID:4IRvBYC/jack なんかはどうかな?
http://jackit.sourceforge.net/
linux-audio-dev ML のアーカイブをざっと読むと
最近のトレンドはある程度把握できると思うよ。
0609名無しさん@Emacs
03/02/14 21:15ID:FG8nW0fg0610login:Penguin
03/02/15 23:13ID:0QrA37pBどうも。
とりあえず、多重化は必須というほどではなかったので、
急場はALSAに別スレッドでデータを流して音を止められ
るようにする事で解決しました。
じっくりやってる時間がナイ・・・
0611login:Penguin
03/02/16 03:27ID:0kL1SNcDその下がALSAドライバが受け持つとか。ALSAにデータ流してってどういう話
なんだろう?
0612login:Penguin
03/02/16 15:36ID:6c33+CVlソース忘れたけど、ACからも嫌われてるし。
あー、さっさとALSA普及させろやー
061367
03/02/16 16:27ID:p4l0B0Y2どんどんレンタルして下さい
ランキングありジャンルも豊富です
http://www.geocities.jp/kgy919/bbs.html
0614login:Penguin
03/03/10 00:09ID:eD+YrOEBなんか分からんのよ。
XCreateGC で返るのは新たに作ったやつだよね?だからアプリがいじっても
かまわないだろうけど、俺は DefaultGC で返るGCをいじってるけどちゃんと
反映される(出力の色とか)し、他のWindow がおかしくなったりしないのよ。
なーにこれ?
0615login:Penguin
03/03/10 11:21ID:buxmoWsJマクロ DefaultGC は、指定したスクリーンのルートウィンドウの
デフォルトのGC を返す。
0616login:Penguin
03/03/11 06:52ID:iMqi8r5zうーん、つまり、DefaultGC は内容が ルートウインドウと同じものが
用意されるのかねえ?なら納得できるんだけど。
0617login:Penguin
03/03/15 04:42ID:qpnlxQebスペシャルデバイスファイルの違いは、
/dev/audio==OSS
/dev/snd/pcm何とか==ALSA
という配置であるという理解でよろしいか?
0618login:Penguin
03/03/16 04:28ID:iPIOgVUt0619login:Penguin
03/03/18 15:40ID:Vc3GhXfhここでの奮闘により、
去年の内にポインタを理解し、
今ではカーネルやデバイス関係のドキュメントを英語で読むに至っております。
勿論、奨められたSDLは大変気に入っており、
毎日のようにコードを書いています。
0620login:Penguin
03/03/20 22:09ID:150VeITdどこか良い開設サイトをご存知ありませんか?
0621login:Penguin
03/03/21 03:31ID:Ar5jNpE70622login:Penguin
03/03/21 11:23ID:LoWU/LPj解決法を思い付かないなら止めれ。
てか、どういうメリットがあるの?
0623山崎渉
03/04/17 12:13ID:PWISM87M0624山崎渉
03/04/20 06:07ID:X64WTq1+( ^^ )< ぬるぽ(^^)
0625教えて君
03/04/25 10:20ID:zWQkST10ドットパターンを取得するにはどうやるんでしょうか?
0626動画直リン
03/04/25 10:26ID:1KQi+Ees0627login:Penguin
03/05/19 10:41ID:B7F7qJzq0628login:Penguin
03/05/19 11:13ID:zFFJzSM7http://www.linux.or.jp/JM/html/LDP_man-pages/man3/system.3.html
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/exec.3.html
普通は、systemで十分だと思うが。
0629login:Penguin
03/05/19 11:33ID:3Do4PmQQpopenってのもあるよ。
0630login:Penguin
03/05/19 14:07ID:K5A7Hh5Y0631教えて君625
03/05/19 17:58ID:j84chePv∠|::::::::::::::U:: τ ::::::<
⊂二|::::::::::::::::::::::::::θ_>
 ̄∠/ ̄ ̄ …モウダメポ
0632login:Penguin
03/05/19 19:29ID:Y0/Pjc0j0633login:Penguin
03/05/19 19:48ID:+4CtkZ3yCreateProcess[Ex] の方が変態すぎて(ry
0634login:Penguin
03/05/20 00:14ID:ij1JGhpr蟻がトン(^^
0635login:Penguin
03/05/20 00:39ID:a9FLtpm3あれはないよりはあった方が良いと思うが。
それとも fork(), exec() をまとめた関数が一つあった方が良いかい?
良いと思うなら自作して発表してみたら?
(もう誰か作ってそうだけど。 system() はそれの一種だよね。
/bin/sh 使ってしかも wait() しちゃうけど)。
0636login:Penguin
03/05/20 00:53ID:Fx7TYsA6>>629&>>633
popenは中でforkしてパイプでつなげてるだけ。manで書いてあることそのまんま。
CreateProcessだと
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_createprocess.htm
こうなるが、引数にてやろうとしていることは、forkからexecする間に噛ませばなんのこたぁない。
0637login:Penguin
03/05/20 01:36ID:a9FLtpm3Windows の CreateProcess() 使うと複雑になるんだよね。
一つの API に機能を詰め込み過ぎてると思う。だから
こんなに説明が長くなる。使う側の慣れもあるんだろう
けど、俺はあまり使い易いとは感じないな。
0638login:Penguin
03/05/20 01:44ID:3OKeb603spawnをシステムコールに追加って話があった。
あれどうなったのかな?
0639login:Penguin
03/05/21 11:42ID:YFGEALm2JMのサイトを見ても、 1-8 まであるみたいだし。
大雑把な区分けといったものがあるのでしょうか?
0640login:Penguin
03/05/21 15:23ID:zAJggrG2man manを読む。
ちなみに、
2 - システムコール
3 - libc
0641login:Penguin
03/05/21 18:32ID:DKxRrfrt$ man 2 intro
$ man 3 intro
などなど
0642山崎渉
03/05/22 01:52ID:p4opmoqv0643教えて君625
03/05/22 11:23ID:e75yor33教えていただける夢を見ました。
が、肝心の所で目が覚めてしまいました。
0644login:Penguin
03/05/22 15:07ID:eHEw1nmEフォントを表示しておいてスクリーンショットを取って画像データを切り出すという
荒技を考えてみた。外部コマンドが揃っていれば言語は何でもいいと思われ。
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#define FONT "-mona-gothic-medium-r-normal--14-130-75-75-p-140-jisx0208.1990-0"
#define CODE 0x3021
int main()
{
FILE *pipe;
pid_t pid;
char code[6], data[4096];
int size, status = 0;
/* run xfd in the background */
pid = fork();
if (pid == 0) { /* child */
snprintf(code, sizeof(code), "%d", CODE);
execl("/usr/X11R6/bin/xfd", "xfd", "-start", code, "-fn", FONT, NULL);
fprintf(stderr, "Error: execl xfd failed\n");
_exit(1);
}
0645644
03/05/22 15:08ID:eHEw1nmEpipe = popen("xwd -name xfd | xwdtopnm | pnmcut -left 4 -top 116 -right 31 -bottom 140", "r");
if (pipe == NULL) {
status = 1;
} else {
size = fread(data, sizeof(data), 1, pipe);
pclose(pipe);
printf("%s\n", (data[0] == 'P' && data[1] == '6') ? "OK" : "NG");
}
/* stop xfd */
kill(pid, SIGTERM);
return status;
}
0646644
03/05/22 15:14ID:eHEw1nmEライブラリの API を使ってピックスマップに文字をレンダリングするのが正攻法だと
思う。上のはお遊びってことで。
0647教えて君625
03/05/22 23:24ID:e75yor33ありがとうございました。バッチリ動作しております。
これを元に改造して使ってみます。
またXlib辺りも調べてみます。
0648login:Penguin
03/05/22 23:45ID:qgpDlc9Q>それとも fork(), exec() をまとめた関数が一つあった方が良いかい?
この前のlkmlにそれに関してポストした奴がいたね。
なんでもfork,execをひとつにしたnew system callを作ろう!って言う感じで。
でも、まわりからは反発されまくってたけどね。(w
それをする意義があまりにも無さ過ぎるんでしょうね。
0649login:Penguin
03/05/23 11:32ID:/d2rxA9mforkの処理を端折れる(といっても微々たる物ですが)ので
無意味って事はないけど、アプリ側の修正の手間が…って事だと思いますが。
2.7になったらもう一回議論すればよろしいんでは?
今になってシステムコール追加しても、まわりの対応が2.6に間に合う保証はないし。
0650login:Penguin
03/05/23 15:40ID:dZHIOWYJ2.7にでも入れてとパッチをMLに投げとけばええんでない?
でも無視されっぽw
0652login:Penguin
03/05/23 16:35ID:z9yq3ofEServletやJ2EEでWebsiteを作りたいと思っているのでJavaをやっています。
0653login:Penguin
03/05/23 16:44ID:6bO6Evwp0654login:Penguin
03/05/23 17:24ID:8XuGW2x3シェルなら
echo -e "\e[44m青背景\e[0m"
CやPerlなら
printf("\e[31m赤前景\e[0m\n");
\e は \x1B, \33 でも可。
つまりASCIIのエスケープのこと。
他にもboldなどの属性を組み合わせたり出来る。
詳しくは man console_codes
#ちょうど端末系のプログラムしてたーよ
0655login:Penguin
03/05/23 17:34ID:Q/fduj3nライブラリ:
・S-Lang
・ncurses
など。手抜きなら
put_ansi_color(int color) {
printf("%c[%dm;", 0x1b, color)
}
ANSIカラーシーケンスぐらいは自分で調べろ
0656655
03/05/23 17:36ID:Q/fduj3n0657648
03/05/23 20:22ID:PJ5y0ueJ別にsystem callにする必要ないでしょう。
それをするならライブラリで十分だよ。
でも端折れる割にはあまりメリットがないような。
っていうかやっぱりライブラリにしても自分は使わない。(w
0658login:Penguin
03/05/23 20:47ID:1yWSV2Pqプロセスの生成するようになったのかは知りたい。
0659login:Penguin
03/05/23 20:56ID:dZHIOWYJCreateProcessのほうが気持ち悪いって・・・
fork+execならば、CreateProcessのまねごとは出来るが
CreateProcessでは、fork+execのまねごとは不可能。
>>657
そいやぁexecはsystem callじゃなかった・・・スマソ
> っていうかやっぱりライブラリにしても自分は使わない。(w
同上
0660649
03/05/23 20:59ID:/d2rxA9mライブラリじゃほとんど端折れないと思うんだけどねえ。
と思ったけど、cloneに手を入れればライブラリだけでもなんとかなりそうだな。
激しく汎用性ないけど。
0661login:Penguin
03/05/23 21:42ID:BrbHauGn0662648
03/05/23 22:04ID:PJ5y0ueJいぁ、そういう意味で言ったんじゃなくて、
fork + execをひとつにすることを端折ると言いました。
それに、そのような関数の組合せを一つにして
system call等を作成すると結構な組合せができるし、
議論も分かれる部分があると思うし、
なにより、わざわざ存在してる物を組合せてKernelやlibraryのサイズを
増やすこともなかろうと思うわけです。
Linus Benedict Torvaldsは、以下の言葉を引用したことがあります。
"Keep It Simple, Stupid"
「シンプルにしておけ、何もわざわざ複雑にする必要は無い」ってことでしょうか?
0663login:Penguin
03/05/23 23:06ID:1yWSV2Pqいや、まねができるとか、機能の問題じゃなくてな。
突然プログラムが2つに分かれたり、別のプログラムに置き換わったり
することが気持ち悪いと感じるわけだが。
#突然、自分のコピーが作られたり(しかも、自分はコピーの方だったり)、
#気づかないうちに他人の脳が移植されてたりする感覚といえばいいだろうか。
言語としてそういう動作がサポートされている言語なら違和感無いのかも
しれないが、Cではそういう動作はまず無いし。
0664login:Penguin
03/05/23 23:45ID:ppcJMMz5あなた自身、ご両親から fork してご自分の人生を exec しています。
Unix の仕組みと同じです。何も気持ち悪く思うことはありません。
0667login:Penguin
03/05/24 02:20ID:B4Q+JvDPでも人生、sleepだけではだめですよ。
できるだけたくさんのI/O処理をかまして、人生を有意義にすごしましょう。
まぁ、負荷がかかりすぎてカーネルパニックで自滅も怖いけどね。(w
0668login:Penguin
03/05/26 16:17ID:RBKpcb+00669login:Penguin
03/05/26 20:21ID:h/wVtHwT0670login:Penguin
03/05/27 00:55ID:7nn4IhbLWIFSTOPPEDマクロを使用しては?
0671山崎渉
03/05/28 16:52ID:3t6i6zxRピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0672login:Penguin
03/05/30 03:10ID:MG+2HHAGWindowsでは文字列で管理してたのでそこらへんが衝突する心配はかなり少なかったのですが。
0673login:Penguin
03/05/30 09:27ID:giaMtuFkキーにinodeを使えば衝突はまず無いな。
0674login:Penguin
03/05/30 18:14ID:ygNMVWQQテンポラリファイルの inode を使うとかいうガイドラインでもあるの?
他のプロセスも同じガイドラインで動いてないんだったら、自分だけ inode
使ってもやっぱり衝突すると思うが。
0675login:Penguin
03/05/30 19:55ID:giaMtuFk失礼inodeじゃなくてftokだ。man ftok すりゃガイドラインある。
0676login:Penguin
03/05/30 21:07ID:7CcX10s90677login:Penguin
03/05/30 22:56ID:ABzzpQz+perl -e 'print "OS";'
0678login:Penguin
03/05/30 23:01ID:saH6ipGu0679login:Penguin
03/05/30 23:09ID:skGhRn3W0680login:Penguin
03/06/12 18:51ID:xQEvAwt/複雑でよく分かりませんでした。
これって1.0とか前のバージョンだとすっきりしてるんですか?
探してもそんな昔のバージョンの物は見付からなかったのですが
どこかで配布しているのなら教えて欲しいです。
0681login:Penguin
03/06/12 20:24ID:gS0S/vM1> catやls等のソースを読もうとcoreutilsパッケージを落したんですが、
ちょっと前までは、lsはfileutils、catはtextutilsだったんで、
それらを探してみては?
0682login:Penguin
03/07/05 00:50ID:GDJ/wBjJ0683login:Penguin
03/07/05 01:15ID:3NMShMijdataだったら/dev/*読めばいいんじゃないかと。
audioだったらcdda2wavを参考にすれ。
0684login:Penguin
03/07/06 01:47ID:Y9+oauTP参考書・教科書は?
0685login:Penguin
03/07/06 02:21ID:k2dvOV2J0686685
03/07/06 02:26ID:k2dvOV2Jしらんことに口出すとろくなことない。
逃亡
Linux System Call Table
http://world.std.com/~slanning/asm/syscall_list.html
0687login:Penguin
03/07/07 13:33ID:q22K5uBr0688login:Penguin
03/07/07 16:15ID:8LS9zi4Wググらんでよし。
% info standards documentation 'change logs'
0689login:Penguin
03/07/08 01:10ID:DtGnB79X0690login:Penguin
03/07/10 23:12ID:JFqZpSeu0691
03/07/10 23:12ID:JFqZpSeuいままでは、
system("grep hu-nn hoge.log > grep.log");
grep.logを開いて読む
とやっていたのですが、これをやっていたプログラムをファイルの使えない
組み込みLINUXに移植することになりましたので、よい方法を探しています。
0692login:Penguin
03/07/10 23:30ID:DlPSb+E0pipeでつながったパイプ(ファイルディスクリプタ(FD)のペア*1)作成
forkでサブプロセス起動
サブプロセス側で
stdoutをクローズ
dup2でFD(*1)の標準出力1番に複製
execでgrepなどを起動
メインプロセス側で
FD(*1)のペア残りを読み込み
waitpidでサブプロセスの終了を待つ
とすればいけるはず
0693691
03/07/10 23:45ID:JFqZpSeu教えていただいたことを手がかりにして何とかいけそうです。
非常に助かりました。ありがとうございました。
0694login:Penguin
03/07/11 01:49ID:nVc5TxUXifconfigのソースよめ。
たしかPF_PACKETのsocket作ってioctlすべし。
だったと思う。
>>692
素直にpopenでいいんでは?
0695login:Penguin
03/07/11 01:57ID:Lri3S1WJぐぐったらこんなんでたよ。
http://www.linuxquestions.org/questions/archive/9/2003/03/3/38217
ぐぐキー「ioctl MAC Address Getting Linux」
0696login:Penguin
03/07/14 02:47ID:5XjH4O4S0697login:Penguin
03/07/14 13:24ID:iCUPa5T3なんていうサブジェクトのメールがきた。
スパムかと思ったら有名大学の学生さんによるオープンソースプロジェクトに関する
アンケートだった。
0698山崎 渉
03/07/15 11:17ID:2JhhXBQM__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0699login:Penguin
03/07/15 12:02ID:KhvjxSuE0700login:Penguin
03/07/16 09:46ID:/p4PizTjLinuxプログラミングっつー、目線がはいってる怪しいやつかおうかとおもってるんだけど、どー?
0701login:Penguin
03/07/16 10:54ID:/p4PizTj0702login:Penguin
03/07/16 15:20ID:LkFgtc49http://www.1point.jp/~book_2ch/
0703login:Penguin
03/07/16 23:12ID:RMGCfqzTかなりおすすめ。あんまLinux固有の話じゃなくて、
Unix全般についてあてはまることが書いてある。
やりたいことにもよるがな。
Cはちゃんと分かってて、GUIプログラムつくりたいんじゃなきゃ
オススメ。
0704login:Penguin
03/07/17 00:30ID:GsLFg1G90705login:Penguin
03/07/17 00:43ID:jtcdxhET0706login:Penguin
03/07/17 00:52ID:TN6AJWjKman ioctl_list
にある <include/linux/sockio.h> あたりのどれかだろ?
ADDRってつくのがいろいろあるが。
0707login:Penguin
03/07/17 08:57ID:1kQtRwFhこーゆーのもあったのね。サンクス。
>>703
昨日さっそく立ち読み、
漏れはWindowsプログラマ(C++)なのだが、分かりやすかったので即購入。
0708707
03/07/17 09:07ID:1kQtRwFhVisualStudioの高性能なIDEに慣れきってるもんだから、
makefileやらEmacsやらがちょっととっつき辛いね。
GUIを作りたいわけじゃぁ無いのだけど、KDevelopへ逃げちゃたーよ。
KDevelopはなかなか高性能なのだが、VSに比べると重いのが難点。
■ このスレッドは過去ログ倉庫に格納されています