Linuxプログラミング
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
01/09/02 20:31ID:8eEfRqZ20620login: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に比べると重いのが難点。
0709login:Penguin
03/07/17 11:36ID:V3J08gFUWideStudioってのもあるけど。まぁ好き嫌いは当人にお任せして。
emacsでgdbとか使えるようになるといい感じだよ。
IDEに頼る人って、よく醜いソースコード吐くんだよね。
IDEが高機能=ソースコードが醜くても何とか見える
から・・・それだけは慎重にしとくれ。
GUIならGTKライブラリがお勧め。
0710login:Penguin
03/07/20 23:19ID:R7nf/Fv+>>709が言いたかったのは、
ようは、
viを使えよと、Makefileを書けよと、shellでシステム管理用スクリプト
ぐらい書けよと、sedとawkと正規表現を極めろよと、
kernel sourceの修正をして、パッチ作成してlkmlにポストして、
たまにはLinusに注意してやれよと。
こう言いたかったようです。
0711login:Penguin
03/07/23 11:46ID:ZPPlsMW80712login:Penguin
03/07/23 15:05ID:6cwqB+RTsocket作った後bindするのがよくわからない
0713login:Penguin
03/07/23 15:25ID:fIgXDXyS0714神の賜物
03/07/23 15:32ID:sSQJakwSワードなんかのアプリケーションはうまく機能するのですか。何分ウィンドーズしか
知らない未熟者です。よろしく指南ください。
0715_
03/07/23 15:39ID:szLePVKp0716login:Penguin
03/07/23 15:45ID:YqKlkAJm--- 受付 ---
struct sockaddr_un sun;
fd = socket(PF_UNIX, SOCK_STREAM, 0);
sun.sun_family = AF_UNIX;
strcpy(sun.sun_path, "/tmp/honyarara");
bind(fd, (sockaddr*)&sun, sizeof(sun));
--- 接続 ---
struct sockaddr_un sun;
fd = socket(PF_UNIX, SOCK_STREAM, 0);
sun.sun_family = AF_UNIX;
strcpy(sun.sun_path, "/tmp/honyarara");
connect(fd, (sockaddr*)&sun, sizeof(sun));
-------------
man unix
でわかるかも?
0717login:Penguin
03/07/23 18:41ID:ZQqetWNFRedHatLinux8.0でメールボックスにメールを受信した時に
PHPスクリプトを呼び出して処理を行った後返信をしたいのですが、
メールが届く度に、PHPスクリプトを呼び出すメールサーバ側の設定がわかりません。
どのようにすればいいでしょうか?
PHPはphp 4.3.2をimap関数付きでconfigureしてます。
sendmail 8.12.5
popt 1.7.1
よろしくお願いします。
0718login:Penguin
03/07/23 18:59ID:qGKxaJYNどうもviじゃいまいちだし。
できればVC++みたくで日本語環境で使える奴。
キリクス高杉
0719login:Penguin
03/07/23 19:04ID:YqKlkAJmWideStudio, Kdevelop, etc...
0720login:Penguin
03/07/23 19:17ID:6cwqB+RT(゚∀゚)サンクスコ
■ このスレッドは過去ログ倉庫に格納されています