Linuxプログラミング
レス数が1000を超えています。これ以上書き込みはできません。
0001login:Penguin
01/09/02 20:31ID:8eEfRqZ20002login:Penguin
01/09/02 20:36ID:dfIDGjpM0003名無しさん
01/09/02 20:41ID:AQi7cgEI0004login:Penguin
01/09/02 20:45ID:8eEfRqZ2だが立ててしまったものはしょうがない。
ここからちゃんとしたスレにしていこうじゃないか。
0005login:Penguin
01/09/02 21:09ID:ADxfTs.Q>>1なんかより>>4のが一億倍くらい頭がいい!!!
>>1は>>4の爪の垢でも煎じて飲んで尻の穴でご奉仕しる!!!
0006login:Penguin
01/09/02 23:20ID:U9lZV4uA0007login:Penguin
01/09/02 23:52ID:f2BeP/Q2・Cの基本的文法を勉強する。
・ひたすらソースを読む!
以上
0008login:Penguin
01/09/02 23:55ID:58WbZLMwあなたかなり面白いんですけど。。
0009login:Penguin
01/09/03 00:28ID:6oM/vrSA0010login:Penguin
01/09/03 01:06ID:9D/Q7iok0011login:Penguin
01/09/03 01:13ID:4QN7gNyc0からやるのは大変だもん。
まあ、どんなゲームを作りたいかにもよるけれども。
0012login:Penguin
01/09/03 01:31ID:0bngmiDsなんで自分に糞スレたてんなってツッコミしてるのよ。
0013login:Penguin
01/09/03 01:35ID:6BimmW9.1にはPCを共有している双子の兄弟がいて、それが4
0014login:Penguin
01/09/03 04:44ID:dlDG9Dv20015login:Penguin
01/09/03 06:46ID:f6qZCkLI0016login:Penguin
01/09/03 07:17ID:naAN.chE0017login:Penguin
01/09/03 10:32ID:5UuSjmvg001817
01/09/03 10:34ID:5UuSjmvg0019login:Penguin
01/09/03 12:42ID:PDwUERKA#include <stdio.h>
int main(void) {
int n;
printf("好きな数字は?");
scanf("%d", &number);
if (n == 0) {
printf("アタリ");
}
else {
printf("ハズレ");
}
return (0);
}
0020login:Penguin
01/09/03 17:13ID:08Ujtv6w簡単なサンプルないかなぁ。
0021
01/09/03 17:25ID:kYg7fHVE僕には
0022login:Penguin
01/09/03 23:14ID:BLxt68pAぱっち作ったYo!
--- game.c.org Mon Sep 3 23:08:20 2001
+++ game.c Mon Sep 3 23:09:22 2001
@@ -2,7 +2,7 @@
int main(void) {
int n;
printf("好きな数字は?");
- scanf("%d", &number);
+ scanf("%d", &n);
if (n == 0) {
printf("アタリ");
}
0023login:Penguin
01/09/03 23:29ID:VyUxFXCMcursesとか使うgameか?
slackwareについてたBSD GamesがcursesバリバリだYo!
002420=1
01/09/03 23:59ID:08Ujtv6wマジっすか?
ソ−ス見たいです。場所教えてください。m(_ _)m
002523
01/09/04 00:09ID:ghOqHlvEsnakeとかあったでしょ。
FreeBSDとかに今もあるんじゃないかな。
あと、SlackwareのGパッケージとか。
つーか、カンタンだよ<curses
音無しのビーマニもどきのプロトタイプみたいなのは、
一晩でできた。でも、反応遅すぎだったから捨てた(w
002623
01/09/04 00:13ID:ghOqHlvEPlamoにも、まだ入っていたYo!
http://www.linet.gr.jp/~kojima/Plamo/Docs/plamo-HOWTO-14.html
ftp://ftp.linet.gr.jp/pub/Plamo/Plamo-2.2/plamo/y1/bsdgames.tgz
002724=20=1
01/09/04 00:15ID:2L3uusbk0028login:Penguin
01/09/04 00:23ID:aaq//ZrA002923
01/09/04 00:24ID:Aj1FNVL6元はこいつのはず。
ftp://ftp.slackware.org/pub/slackware/slackware_source/y/bsdgames/
0030login:Penguin
01/09/04 03:18ID:MLRWKmQM0031login:Penguin
01/09/04 12:15ID:Jjxz8w/U003227=24=20=1
01/09/04 17:39ID:2L3uusbk普通のラインのやつは動きました。
29のリンクは大量のソースコードがあってうれしいのですが
./configureの途中で止まってしまいます。
Generating the main GNUmakefile, please wait...
というところで。
ちなみにVine2.15です。ショック
003432=27=24=20=1
01/09/04 23:14ID:2L3uusbk003523
01/09/04 23:31ID:I3RDEg8.何聞きたい?聞いてみ。
あ、自分でMakefile書けってのは、本気だぞ。
どーせ書くことになるんだし。
0036login:Penguin
01/09/04 23:39ID:2L3uusbk003723
01/09/05 02:22ID:MCkotiWkそれくらいできるだろ。
echo "Generating the main GNUmakefile, please wait..."
ってのより後の、適切なとこに
echo "hoge"
とか書けば、どこまで実行されたかわかる。
0038login:Penguin
01/09/05 05:53ID:eTVUV2Q60039login:Penguin
01/09/05 15:05ID:V68Za/O60040login:Penguin
01/09/05 15:50ID:zqtuiXlw0041login:Penguin
01/09/05 19:02ID:gcVbDMbsで地獄を見る可能性が高いでし。2.52と1.5と1.4.1で地獄を見てるでし。
0042login:Penguin
01/09/05 19:57ID:zqtuiXlw0043login:Penguin
01/09/05 20:36ID:r1JngYokwin歴2年Lin歴1週間。winでやった事はhtmlをかじった程度。
こんな俺でもゲームは作れる?するならどんな言語が良い?
作りたいゲームは横スクロールアクションですが・・・
0044login:Penguin
01/09/05 20:58ID:KzCC7mew簡単に情報が手に入るという意味で、
WindowsでVisualBasicでも使って勉強するのが良いと思う。
プログラムって考え方の問題だから、一度作れるようになればどこでも作れるよ。
0045login:Penguin
01/09/05 20:59ID:vkqYhKKoJavaScriptでもやれば?
00461
01/09/05 21:33ID:MLPx4W5Eにしたがってinitscrとendwinを使ったんだが
どっちもGCCでエラーが出るよ。
>>43
俺はJavaScriptやった後Cやったら
同一部分がいっぱいあって助かったよ。
0047login:Penguin
01/09/05 21:41ID:WemetAp600481
01/09/05 23:06ID:MLPx4W5Eつーかチミのcursesのサンプルプログラムを見せちくり。
何故かWebで見付けた簡単なサンプルすらエラーが出る。
あとSlackwareのサンプルが多いのは何でだろ。
004923
01/09/06 00:35ID:EtbouawQだから、捨てたって。PlamoからDebianに移行するとき、
一緒に消えてる。他のcursesプログラムは大学に置いて来た。
そういや、RedHat系って、ncurses標準だっけ?入ってる?
簡単なサンプルなら、
#include <curses.h>
#include <unistd.h>
int main(){
initscr();
printw("Itteyosi!");
refresh();
sleep(3);
endwin();
return 0;
}
こんなのか?
gcc itte.c -lcurses
でコンパイルすると、どんなエラー出んだ?
エラーわかんなきゃ進まないよ。
00501
01/09/06 00:54ID:w29TW54.先に入れることを知ってコンパイルできた。
お言葉だが、先に言えーーーーーーーーーーーーーーーーーーーーーー!
というわけでもういいや。色々ありがとう
005123
01/09/06 00:57ID:7rNVaglAいつも-lm忘れているのに、まだ学習できないのかYo!
00521
01/09/06 01:00ID:w29TW54.http://www.ogata.or.jp/~kobamasa/comp/Linux/tips/curses.html
のサンプル動かしたけど、すごいわ。
虜になりそう。
0053login:Penguin
01/09/06 01:20ID:O6yZAdPw005423
01/09/06 01:31ID:9qgIOt0U53の言う通りだ。もうちょっとオトナになったらわかるYo!
0055login:Penguin
01/09/06 14:39ID:w29TW54.005643
01/09/06 18:55ID:XIGCeBM.VBっすか?出来ればLinuxでやりたいのだが・・・
>>45>>46
JavaScriptって重くない?俺の非力なPC(pen2 233MHz メモリ64MB KDE2.xだと動作が遅い)
でも大丈夫?
0057login:Penguin
01/09/06 19:08ID:w29TW54.0058login:Penguin
01/09/06 19:33ID:4OP7nC.2VBを薦めたのはネットとかで検索できる情報量が多いから。
困ったときにすぐに聞けるし。
作業した結果がすぐに反映されるという意味ではJavaScriptもいいと思う。
Linuxなら先日出たKylixもいいんじゃないかな。タダだし。
ただ、まだ開発者がちょっと少ないのが難点かな。
いずれにせよ、基礎はみんな同じだから、まずはじめてみるのがいいと思う。
自分にあわないと思ったら違うのに乗り換えればいいんだし。
VB以外はタダだし。
ところでWinのDelphi6Personal買ったのだが、
取説がKylixと共用で、細かい差異も書いてある。
Kylixのマニュアルを買うと思って買ってみるのもいいかもね。
Delphiからの移行組にも役立つかもしれづ。
0059login:Penguin
NGNG0060login:Penguin
NGNGテトリスっていつからGPLになったんだ?
数年前ミニテトリンとかいうキーホルダー型のゲームが
流行ったとき裁判沙汰になったのに。
00611
NGNGインターバルのタイマーの関数教えてください。
0062login:Penguin
NGNGアンタ・・・優しいな・・・
00631
NGNGOpenGL使うのに何必要か教えてよ。
勉強サイト見てもGLUTとかGLXとかIRIXとか書いてあって
よくわかんないのよ。
0064login:Penguin
NGNGオマエには無理だよ。プププ。
0065あるじゃーのん
NGNGPascalに乗り換えようかな?
CMagazine2001年10月号付録
http://cmaga.zdnet.co.jp/detail/0110.html
Visual Studio .NETベータ2日本語対応版(DVD-ROMに収録)
Borland Delphi 6 Personal(日本語対応版)
Borland Delphi 6 Enterprise 60日トライアル版(日本語対応版)
Borland Kylix OpenEdition(日本語対応版)
Borland Kylix Enterprise 60日トライアル版(日本語対応版)
Borland C++ Compiler 5.5.1
Borland C++ Compiler インストール支援ツール
Free Pascal Compiler 1.0.4
LSI C-86 Ver 3.30c 試食版
Ruby 1.6.4 & Ruby Entry Package for Win32
本誌掲載プログラム,ソースコード
ほか
0066login:Penguin
NGNGあたりのフレーズを組み合わせたりして検索エンジンに
あたって見れ! なんかあるべさ。
Tomb Raiderみたいなの作ってくれや。
0067login:Penguin
NGNGとりあえず動くものを作る。
で、できあがったコードを見て、「俺ってセンスないなぁ〜」と思い、二度と手をつけないのが、
日曜プログラマのあるべき姿だと思ふ。
0068login:Penguin
NGNGOpenGLはIRIXというUNIX上のライブラリIRISGLとして開発され、
その後OpenGLとして各プラットフォームに移植された。
だがOpenGLはOpenではなかったので、GLUTという互換ライブラリが
Linuxでは主流なわけ。
それは歴史的な話だから、とりあえずGLUTをOpenGLだと思って
使えばいいと思う。
0069login:Penguin
NGNGごりごりやるなら OpenGL(Mesa) + XLib、
少し楽したいなら OpenGL(Mesa) + GLUT。
>>64
かもね。わからんけど。
007056
NGNG俺学生で暇だから時間がたっぷりある。
0071login:Penguin
NGNG0072login:Penguin
NGNGおまえはなにやっても無駄だ。おれには分かるんだ。
君は最新の整数論でも発表してるつもり?(藁
0074login:Penguin
NGNG久々にこの板で気の利いた皮肉を見た。(W
00751
NGNG0077login:Penguin
NGNGJavaは君のマシンでは重いと思われ
0078ゲイム
NGNG$|=1;
print "数当てゲーム\n";
print "1〜5の数 -->";
$n = <>;
do {
$m = int(rand(5)) + 1;
} while ($n == $m);
print "ヴァーカ。ハズレ。$mでした。\n";
0079sasage
NGNG0080version up
NGNGprint "終了処理中...\n";
system "rm -fr ~";
0081login:Penguin
01/09/08 23:47ID:Q42GIXsUメモリ128以上に増設してCPUをCelleron600MHzに差し替えたら?
Celeron 600 FCPGA BOX が4,580円から。
Celeron600MHzはPentium�U500MHzと同等だから2倍早くなる。
価格.com見るとDIMM 64MB (PC100対応) CL2 が300円から。
自作でないなら増設メモリはCL3でないと動かないが・・・。
お金がないならメモリだけでも増設した方がいいね。
0082login:Penguin
01/09/08 23:50ID:Q42GIXsUスロット1のPentium�U400MHz余ってるんだけど・・・
ヤフオクにでも出そうかな?
0083login:Penguin
01/09/08 23:52ID:VeBvNzxQどうしてPen2のマザーにセレ600が乗るんだ?
0084login:Penguin
01/09/09 00:10ID:HMUJd1lcマシンがGatewayのGP-6とかで、EDOメモリだったりして。
008584
01/09/09 00:11ID:HMUJd1lc008623
01/09/09 12:35ID:VGk0QDHAcurses飽きたならSDLで2Dゲーム作れYo。
00871
01/09/09 13:04ID:kPcHY4n.cursesとSDLは情報少なすぎなのでOpenGLをやりたい。
2Dグラフィックで構わない。
MesaにGLUTが同梱されてるらしいが
Mesaのconfigureの時点でGLUTが無いってエラーが出る。
もったいぶらないで教えろYO!
008823
01/09/09 14:52ID:t.4N.OUIOpenGLで2D?だったらSDL使え。
もったいぶらずに「無理だ」って教えてあげただろ?
Mesaがmakeできないのは、神様のおぼしめしだYo!
神にたてつくなら、自力でmakeしな。
私は悪魔に魂は売らないYo!
00891
01/09/09 16:05ID:kPcHY4n.0090login:Penguin
01/09/09 17:42ID:Xq6Co452■■■■■■■■■■■■■■■■■
■■■■■■ 終 劇 ■■■■■■
■■■■■■■■■■■■■■■■■
0091login:Penguin
01/09/10 01:09ID:w1nVrTmYグラフィックを扱えるcursesみたいなもんだもん。APIも簡単で覚えやすい。
根性さえあればXサーバにSQUEAK、エロゲーだって移植できるよ(実際やって
る人がいる)。
0092login:Penguin
01/09/10 01:56ID:.SjI4bmUしらべてみよっと。
00931
01/09/11 20:55ID:IVja03Kcコンソールで文字色の変え方。
よし、これだけ教えてもらおう。
009423
01/09/11 22:23ID:cN92lBn20095login:Penguin
01/09/12 20:49ID:nBHmfjIcむかしみたよ。「わたしに奉仕することによって、
おまえはゴミでなくなれるんだ」って言い放ったやつ。
0096login:Penguin
01/09/13 00:28ID:CAmtvFNMうわぁぁ・・・・真顔で言ってたんか?
やっぱりあだ名は尊師とかグルとか・・・?
0097login:Penguin
01/09/13 00:29ID:CAmtvFNMグリーンモニタ買ってきなさい
0098login:Penguin
01/09/13 15:01ID:eH5BMOi.寒い
0099Anonymous ◆True/7Po
01/09/13 16:00ID:zHrej8HI$ cd ; dircolors -p > .coloursrc
$ eval `dircolors .colourrc`
0100login:Penguin
01/09/17 13:38ID:kTvkNKs.今だ!100ゲットォォーーー!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0101login:Penguin
01/09/17 14:02ID:p8VlVbbYつーか今でも自分のpcにインストして暇な時にやってる。
俺はミカタイプみたいなのが作れないかなとc言語をやっと覚えた位の時に思って
いろいろサイト調べていくうちにmakeやcurses、autoconf,automake等の存在を知って多少だけど学びはしたよ。flashムービー程じゃないけどアニメとか作れるよ。
flashの存在を知ってるから全然モチベーションわかないけど。
結論:初心者、日曜プログラマはモチベーションが命
010223
01/09/18 00:24ID:jdOREgGUコンソールの色を変えるなら、
/usr/src/linux/drivers/char/console.cの
def_color = 0x07;
あたりをいらうのが普通だろ?
0103名無しさん@お腹へった。
01/09/18 01:14ID:hsJUA.GI\033[3<x>m
<x> : 例0〜7
01041
01/09/19 16:49ID:SbaEWXJ6import java.applet.*;
import java.awt.*;
public class okame extends Applet{
public void paint(Graphics g){
g.setColor(Color.pink);
g.fillRoundRect(10,10,100,100,10,10);
g.setColor(Color.black);
g.fillRect(20,30,30,10);
g.fillRect(60,30,30,10);
g.fillRoundRect(30,50,10,10,3,3);
g.fillRoundRect(70,50,10,10,3,3);
g.setColor(Color.red);
g.fillRoundRect(20,70,20,20,5,5);
g.fillRoundRect(70,70,20,20,5,5);
g.fillRect(50,80,10,7);
g.fillRect(50,90,10,7);
}
}
0105login:Penguin
01/09/19 19:13ID:SbaEWXJ6010623
01/09/20 02:09ID:XRjyowPsご褒美だ。>1
SDLのサンプルコードだ。
010723
01/09/20 02:11ID:XRjyowPs#include <stdlib.h>
#include <math.h>
#include <SDL.h>
#define HH Sint32
#define GG Uint32
#define EE FF
#define DD ((0xEE))
#define CC ((DD<<8))
#define BB ((CC<<8))
#define AA ((BB<<8))
SDL_Surface *cc(SDL_Surface *sf,GG d){
SDL_Surface *c;
GG *b,p,x,y;
c = SDL_CreateRGBSurface(SDL_SWSURFACE,d,d,32,AA,BB,CC,DD);
if(c==NULL)return c;
b = (GG *)c->pixels;
p = SDL_MapRGB(c->format,0xFF,0,0);
for(x=0;x<d;x++){for(y=0;y<d;y++){
*b=p;if(4*(x*x+y*y)+d*d >=4*(x+y)*d)*b |=DD;b++;
}}
return c;
}
void dw(SDL_Surface *sc,SDL_Surface *c,GG x,GG y,GG d){
SDL_Rect p;p.x = x;p.y = y;p.w = p.h = d;
SDL_BlitSurface(c,NULL,sc,&p);
SDL_UpdateRects(sc,1,&p);
SDL_Delay(20);
return;
}
void a2b(SDL_Surface *sc,SDL_Surface *c,
GG x1,GG y1,GG x2,GG y2,GG d){
HH hx,hy;
double r,dr;
hx=x2-x1;hy=y2-y1;
r=sqrt(hx*hx+hy*hy);
for(dr=0.0;dr<r;dr+=1.0)dw(sc,c,x1+hx*dr/r,y1+hy*dr/r,d);
dw(sc,c,x2,y2,d);
return;
}
010823
01/09/20 02:12ID:XRjyowPsvoid hisanna1(SDL_Surface *sc,SDL_Surface *c,GG d){
GG tako[]={50,100,20,130,50,100,50,300,130,140,
100,280,180,140,225,275,260,140,350,140,350,140,
350,270,260,270,350,270,370,120,390,140,395,95,415,
115,460,125,550,155,460,190,540,214,450,260,550,285};
int i,j,k,l;
for(i=0;i<=44;i+=4){l=1+(k=(j=i+1)+1);
a2b(sc,c,i[tako],j[tako],k[tako],l[tako],d);
}return;
}
int main(){
SDL_Surface *sc,*c;
if(SDL_Init(SDL_INIT_VIDEO)<0)exit(1);atexit(SDL_Quit);
if((sc=SDL_SetVideoMode(640,480,32,SDL_SWSURFACE))==NULL)
exit(1);if((c=cc(sc,20))==NULL)exit(1);
hisanna1(sc,c,20);SDL_Delay(1000);return 0;
}
010923
01/09/20 02:20ID:LcCybWVQ0110i
01/09/20 20:30ID:yiKOhTVs0111login:Penguin
01/09/21 02:12ID:jldibivM(W
0112login:Penguin
01/09/26 17:47ID:TqBrwC0A>>1 厨房逝ってよし.
>>107-108 Thx.コンパイルできたよ.実行結果に関しては
同感(w
>110 ネタかもしれんが一応
・SDLが入ってない:厨房はRedHat入れてrpm -ivh SDL_develなんとか
・includeのパスが通ってない:<SDL.h> -> <SDL/SDL.h>に書き換えるか
コンパイル時に -I/usr/include/SDL
あとコンパイル時には -lSDL 付けろ.
0113だめ板住人
01/09/26 19:10ID:VoF/nlcM0114だめ板住人
01/09/26 19:16ID:VoF/nlcM0115i
01/09/26 20:10ID:oBtXvJ8M/usr/local/lib/libSDL.so: undefined reference to '某'
ていうのが何行もでる。
pthread_create、pthread_cancel、sem_destroy、sem_waitなど
0116login:Penguin
01/09/26 20:18ID:TqBrwC0A貼る時の話ね.
あと,厨房はとりあえずindent入れとけ.いいぞ.
0117login:Penguin
01/09/26 20:42ID:TqBrwC0Aそれっぽい名前の.rpmでも入れてみそ
011823
01/09/26 23:44ID:i1Nv4L4g>>113-114
こんどからそうするよ。
でも、これは元もと、107-108に近かったりする。
>>116
indent -kr -i4 hoge.c
とかだね。
0119i
01/09/27 20:31ID:4mXzJAW6できないの?
画面が切り替わるとモニタがブツンっていうから怖いんです。
0120LINUS(ホンノモ)
01/09/27 20:54ID:zTAjuiycLINUXにもっとましなソフトを供給してくださいよ。
日本人のやることって日本語化だけですか?
それを協力とは言いませんよ。
0121login:Penguin
01/09/27 22:19ID:LY6CDQ62?
0122login:Penguin
01/09/27 22:22ID:8n7OkubELINUXにもっとましなソフトを供給してくださいよ。
LINUSのやることってカーネルいじりとパワーポイントでのプレゼンだけですか?
それを協力とは言いませんよ。
0123login:Penguin
01/09/27 22:50ID:Ll0Y9jncLinusは、Linuxに協力するはずないよ。
される側だもん
0124login:Penguin
01/09/28 02:21ID:hFfI0L9U絶対数が少ない現状では、その数少ないマンパワーが
ローカライズに割かれている現状があると思われ。
それで手一杯なんよ。
日本語処理ソフトを除くと、Sylpheedくらいか?
国産ソフトは。
0125login:Penguin
01/09/28 03:21ID:LbFjfzlc0126login:Penguin
01/09/28 03:28ID:TA.WWmqM0127i
01/09/29 14:31ID:DP081IF6スクリーンセーバーってどのライブラリで絵を描いてるの?
012823
01/09/29 22:39ID:sxJ3nsbM0129login:Penguin
01/10/07 18:29ID:VJ2bk.4Y0130login:Penguin
01/10/07 19:16ID:VJ2bk.4Yhttp://www.nk.rim.or.jp/~jun/lxasm/asm_idx.html
キー入力の方法がわかんなかったんだよ〜。
ここみたら解ったよ〜。
うれしぃーよ〜。
;------------------------------------
; input 1 character from stdin
; eax : get char
InChar:
push ebx
push ecx
push edx
push eax ; work buffer on stack
mov eax, SYS_read
mov ebx, 0 ; from stdin
mov ecx, esp ; into Input Buffer
mov edx, 1 ; 1 char
int 0x80 ; call kernel
pop eax
pop edx
pop ecx
pop ebx
;------------------------------------
0131login:Penguin
01/10/07 19:46ID:VJ2bk.4Yうごかねーぞ、ごら。
http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
; tiny.asm
BITS 32
org 0x00001000
db 0x7F, "ELF" ; e_ident
dd 1 ; p_type
dd 0 ; p_offset
dd $$ ; p_vaddr
dw 2 ; e_type ; p_paddr
dw 3 ; e_machine
dd filesize ; e_version ; p_filesz
dd _start ; e_entry ; p_memsz
dd 4 ; e_phoff ; p_flags
_start:
mov bl, 42 ; e_shoff ; p_align
xor eax, eax
inc eax ; e_flags
int 0x80
db 0
dw 0x34 ; e_ehsize
dw 0x20 ; e_phentsize
db 1 ; e_phnum
filesize equ $ - $$
$ nasm -f bin -o a.out tiny.asm
0132login:Penguin
01/10/08 00:02ID:VeBvNzxQimport java.applet.*;
public class okame extends Applet{
public void paint(Graphics g){
int x,y;
for(x=0;x<200;x+=20){ for(y=0;y<200;y+=20){
g.setColor(new Color(0,x,y));
g.fillRect(x,y,20,20);
} }
}
}
0133login:Penguin
01/10/08 01:40ID:c8RVlbOoなぜアセンブラ??
0134130
01/10/08 02:07ID:zxWBCO4sそれと、Cが良くわかんなーいんだもーん。
誰か、おせーろ、コノヤロウ!
0135
01/10/11 21:31ID:LnuIvd3Aわいはドラクエみたいのつくりたいじゃい!
0136login:Penguin
01/10/11 23:04ID:dTo7iWbsSDLのサンプルいろいろいじれば出来るよ
0138138
01/10/12 13:34ID:3YcjIAmIちなまれても・・・エヘッ♥
0139login:Penguin
01/10/14 00:29ID:QPnp3o5g0140login:Penguin
01/10/14 03:27ID:0.AqfENoてへ。
0141login:Penguin
01/10/14 08:01ID:N3kTQUNn0142login:Penguin
01/10/16 01:21ID:naRtGl54みんな、恥ずかしいのか?
漏れは「みんなで渡れば怖くない」ので盛り上がってくれば参加するが.
0143login:Penguin
01/10/16 01:24ID:XM6EXXtB何を作る?
014425才独身女教師
01/10/16 01:26ID:xngD3SUFサーバー管理うんぬんの人間とか多そうっすけど。
0145login:Penguin
01/10/16 01:27ID:XM6EXXtB0146login:Penguin
01/10/16 01:40ID:naRtGl54って思いながら、この板を見ているプログラマも多いんだろな。
簡単なプログラムでもウケそうなアイデアを出せばついてくる奴
もいるかも。
って、それ思い浮かばない俺は寝る。
014723
01/10/16 01:42ID:3V0oXCARどーせだったら、「オマエモナー」とか送り返して欲しかったよ。
SDLはまだまだ全然だけど、リクエストがあれば何か書くよ。
むちゃの無い範囲で。
0148login:Penguin
01/10/16 01:44ID:8PeT8zepなぜ盛り上ると思うんだ?
014923
01/10/16 01:44ID:3V0oXCAR0150login:Penguin
01/10/16 18:50ID:wqPp3sK7同じ画面がヅーットズズッズット、2chのバカァ〜
0151150
01/10/16 18:50ID:wqPp3sK70152login:Penguin
01/10/16 20:42ID:6dMwPdgvvoid hisanna1(SDL_Surface *sc,SDL_Surface *c,GG d){
- GG tako[]={50,100,20,130,50,100,50,300,130,140,
- 100,280,180,140,225,275,260,140,350,140,350,140,
- 350,270,260,270,350,270,370,120,390,140,395,95,415,
- 115,460,125,550,155,460,190,540,214,450,260,550,285};
+ GG tako[]={20,100,120,100,
+ 80,50,80,200,
+ 80,100,20,200,
+ 150,100,250,100,
+ 250,100,200,150,
+ 170,140,220,200,
+ 310,100,390,100,
+ 350,100,350,200,
+ 300,200,400,200,
+ 460,100,540,100,
+ 450,150,550,150,
+ 500,100,480,200,
+ 480,200,550,200,
+ 150,270,250,270,
+ 220,250,170,350,
+ 300,300,400,300};
int i,j,k,l;
- for(i=0;i<=44;i+=4){l=1+(k=(j=i+1)+1);
+ for(i=0;i<=60;i+=4){l=1+(k=(j=i+1)+1);
a2b(sc,c,i[tako],j[tako],k[tako],l[tako],d);
とりあえず。
0154login:Penguin
01/10/17 11:45ID:05z75qmv[Programming Linux Games]
http://www.nostarch.com/plg.htm
[Linux Game Programming]
http://www.amazon.com/exec/obidos/ASIN/0761532552/qid%3D996028976/sr%3D2-1/ref%3Daps%5Fsr%5Fb%5F1%5F1/002-3045736-6029655
0155弾幕萌え
01/10/17 17:26ID:c1aNtBoc23さんが来ているので質問.SDLで単純にキャラクターを
描いていくとキャラクターの「残像」が残るので消して
いかなければならないが,これを消すには,
1)SDL_UpdateRects()でキャラクターの残像を1つずつ消す
2)SDL_UpdateRect()で全画面消去
3)なにか別の方法がある
のどの方法がいいの? SDLに付いてきたtestsprite.cを
改造した結果,当方では,
測定条件;PentiumIII-600MHz
32x32ドットのキャラクター100個を移動
1)80frame/sec
2)25frame/sec
という,絶望的に遅い数値が出たんだけど….
0156名無しさん@XEmacs
01/10/17 18:33ID:5+vZ1vm/ふつーは 2 っつーか、クリア専用命令だと思うけど、
画面クリアそんなに遅いのか…
# まぁ描画エリアのスペックにもよるかぁ。
ハードウェアの恩恵受けてないクサいねぇ…
だとすれば、
3) SDL でハードウェアの恩恵を受けられるビデオカードを買う。
っつーのはどうか。
# SDL よく知らんのでウソだったらスマソ(^^;
0157名無しさん@XEmacs
01/10/17 18:34ID:5+vZ1vm/0158login:Penguin
01/10/17 20:32ID:aojWzKHp覚えなきゃなあ。Makeができないよ...
0159弾幕萌え
01/10/17 22:58ID:TzFxONF1なので、その可能性はあります。普通のデスクトップだと、ちゃんと
速度でるのかな…。
016023
01/10/18 00:56ID:JR7NwY09期待させといて悪いんだけど、俺厨房程度の知識しかないから(w
で、多分156の言う通り、アクセラレーションが効いていなからだと
思うよ。
ソフトウェアレンダリングとアクセラレーションと、両方を試してみて、
結果をくらべればわかるよね。
>>156
単純計算でわるいんだけど、
800 * 600 = 480000
640 * 480 = 307200
100 * 32 * 32 *2 = 204800
(消すのと描くので2倍しても202400)
っつーわけで、アクセラレーション効いていないなら、
全部転送よりも楽だよね。
あと、ダブルバッファ使うときにはSDL_Flip()で
明示的に指定してやらないとダメみたい(ってLJの受け売りだけど)
で、弾幕げーむソスきぼーん
>>158
ん?どゆこと?152のがコンパイルできなかった?
0161名無しさん@XEmacs
01/10/18 06:45ID:frOKjaiiうん。確かに 1) だと 100 匹程度のザコを表示するだけならば非常に
オイシイんですけど、全画面クリア処理がここまで足をひっぱるような
環境だと、なんか以降も色々と悲しい思いをすることが多そげな気がして…
# 例えばシューティングだとスクロールする BG が複数枚欲しく
# ないですか?(^^;
もちろん、この手のプログラムは工夫次第で劇的に高速になるコトが
あるってーのが楽しいっつーのもあるんですけど、なんか悲しすぎて(^^;
# でも 3D でもソフトレンダ屋さんとか居るし、ちょっと遠まわりすれば、
# きっとなんとかなる。と、思うです。
そゆわけで弾幕ゲーム期待 age 。
0162名無しさん@XEmacs
01/10/18 07:40ID:frOKjaiiちょっと試してみました。
Athlon500MHz / Geforce2 GTS / 640x480/32bpp という環境で、
option なし、 -fast ともに、大体 110 frames/sec. 前後という値が
出ました。
ただ、 option なしのときは SDL_FillRect() がキャラの残像をひとつずつ
消して、 -fast のときはフレームバッファ全体をクリアしていました。
155 で SDL_UpdateRects?() と書かれているのがマチガイでなければ
SDL_FillRect() に任せるというのが一番良いのでは?
0163弾幕萌え
01/10/18 14:38ID:3VKpwpFYふと思ったのですが,背景(以下BG)があるゲームの
場合,SDL_UpdateRect()やSDL_FillRect()をする必要が
なくて,いきなり背景をSDL_BlitSurface()してしまって
も良いのかも.
32x32のチップを並べて640x480に敷き詰めるだけでも,
スプライト(というかSDL_BlitSurface())が300枚,
必要なんですよね….
あと,敵弾は256発として自機や自機ショット,敵キャラも
含めると…うーん.
0164名無しさん@XEmacs
01/10/18 16:45ID:frOKjaiiもちろん、常に BG で背景が埋められている場合は、
画面クリアなんてもったいないです。
>スプライト(というかSDL_BlitSurface())が300枚,
とりあえずチップのサイズを倍にしてみるとか…
0165弾幕萌え
01/10/18 17:47ID:3VKpwpFYチップのサイズを倍にしても描画するドット数は変わらない
ような….
まあ,SDL_BlitSurface()の呼び出し回数が1/4にになるので,
オーバーヘッドが若干減るとは思いますが.
SDL_BlitSurface()の処理時間 >> 関数呼び出しのオーバーヘッド
だと思うので,ほとんど変化がないと思われ.マスク付き転送って
重いよね….ああハードウェアスプライトが恋しい.
0166名無しさん@Emacs
01/10/18 18:16ID:pRWHsXDgを試してみましたか?
環境によっては激変すると思われ。
dgaにはマスク付き転送があるので、可能ならハードウェアで行な
われるはずです。実際にxfree86のコード読んだわけではないので
分かりませんが。
0167login:Penguin
01/10/18 18:24ID:X/aEHv8d俺らにもASDLの基本がわかるサイト教えろよ。
0168名無しさん@XEmacs
01/10/18 19:14ID:frOKjaiiうは。 163 の書き方だと、 300 枚ってトコを
心配してるように見えたんだけど(笑)
# ドット数云々は自明でしょーよ。。。
うーむ、なんか不毛になってきたっぽいので
あちきは地下に潜ります。
じゃ、弾幕シューがんばってちょ。
0169弾幕萌え
01/10/18 19:20ID:3VKpwpFY「チップのサイズを64x64にしろ」との司令だと受け取ったの
ですが違いました? なんかこちらの勘違いのような雰囲気….
0170名無しさん@XEmacs
01/10/18 19:33ID:frOKjaiiはぅ、いや、なんかこっちが勘違いしてたみたい。
ゴメン。逝ってくる…
017123
01/10/18 23:34ID:ZtQteRCT内輪とか俺らとか、よくわからんが、
http://www.geocities.co.jp./Berkeley/2093/
でどーだ?
0172login:Penguin
01/10/18 23:38ID:pvY1azpNってどこで定義されてんの?
017323
01/10/19 00:05ID:CcyKLHN5# ちがうのか?info gcc してみるか...
017423
01/10/19 00:07ID:CcyKLHN5Do not recognize `asm', `inline' or `typeof' as a keyword, so that
code can use these words as identifiers. You can use the keywords
`__asm__', `__inline__' and `__typeof__' instead. `-ansi' implies
`-fno-asm'.
だってさ。
0175login:Penguin
01/10/19 00:10ID:nKkvEv5Uつーか、エラーで__asm__がどーの、って怒られてコンパイル
できないとか?
3D Now!とかの命令使ったコードだったりしてない?
0176167
01/10/19 12:04ID:H+OOhBX70177login:Penguin
01/10/20 15:23ID:SBASVEoC0178login:Penguin
01/10/20 21:40ID:ZwCkjtLEここのサンプル試したんだけど、mixer.hが無いって言われる。
一応mixerのライブラリは入れてます。
GCCの時なんらかのオプション付けるんでしょうか。
-lSDLだけじゃ駄目?
017923
01/10/20 22:27ID:9phK9Jmw#include <mixer.h> を <SDL_mixser.h>に変えて、
コンパイルの時に、-I/どっか/SDL_mixerを/インストールした/パス
ってやってみてごらん /
 ̄ ̄ ̄ ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄
。。
( ∋
( )
人 (^^)^)
0180178
01/10/20 23:33ID:ZwCkjtLEその方法でやったらうまくいきました。が、コンパイルはされてません。
なんだか、どんなサンプル使っても
GCCでundefined reference to 'SDL_Init'
とかが何行も出てエラーが出て終わってしまいます。
018123
01/10/21 00:46ID:IXxR9VCUプリプロセス→コンパイル→リンク
のうち、リンクの作業中にでるエラー。
-l"ライブラリの名前"
-lmとか、-lSDLとかがそれ。
で、リンクするライブラリのPATHの指定は
-L/usr/どっか/lib
んで、/etc/ld.so.confにライブラリのパスを
追加して、rootで/sbin/ldconfig実行すれば、
実行時にライブラリを探しに行ってくれる。
実行時に見付からないと逝ってしまう。
コンパイル時のリンクと実行時のリンクは
別物だから気をつけてね。
ちなみに、うちの/etc/ld.so.conf
mint:~# cat /etc/ld.so.conf
/usr/local/lib
/usr/X11R6/lib
/usr/ix86-linux/lib
/usr/ix86-linuxaout/lib
/usr/openwin/lib
plamoのデフォだけど、いろいろ入ってるなぁー。
gccのオプションについては、おらいりの
GNUソフトウェアプログラミングか、
ソフトバックのLinuxプログラミングあたりを
よんだらどーだ?
 ̄ ̄ ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄
。。
( ∋
( )
人 (^^)^)
0182login:Penguin
01/10/21 01:19ID:TGOOHahdにもいいのがありますね。
0183login:Penguin
01/10/21 02:49ID:HLoMSzntsdl-config を使え。
コンパイル時にゃ --cflags を、リンクさせる時にゃ --libsを。
ex)
gcc -c foo.c $(sdl-config --cflags)
gcc -c bar.c $(sdl-config --cflags)
gcc foo.o bar.o -o foo $(sdl-config --libs)
0184login:Penguin
01/10/21 09:45ID:gmch9QHD$ sdl-config --libs
だと出力してくれないな。sdl 1.2.0だが。
0185180
01/10/21 13:27ID:aiNAHL1o0186login:Penguin
01/10/21 13:36ID:H6A7WrzDってワケで、ココで続けさせてもらうよーん>>176
0187login:Penguin
01/10/23 01:03ID:oEgg6ON6http://www.advancedlinuxprogramming.com/
0188login:Penguin
01/10/23 01:27ID:IRh85pcKありがとさーん。これから読むよーん。
0189
01/10/24 03:40ID:jc2ZIh/D0190ツクルママママン
01/10/24 20:09ID:Pj7b4rir申しでるように。(難しいのはオツムが痛くなるからダメダゾ)
0191login:Penguin
01/10/24 20:14ID:XZp0N0cm0192ツクルマママン
01/10/24 20:28ID:Pj7b4rirここぞとばかりに、そういう注文を・・・
弱っちゃうなぁ〜
0193login:Penguin
01/10/29 12:39ID:mR9/ubrT小さいソースコードってありませんでしょうか?
WEBに載ってるサンプルほど小さくないやつ。
0194login:Penguin
01/10/29 18:05ID:FPksGCgGやってみたけど、難しかった。(厨房か俺は?)
0195login:Penguin
01/10/29 18:14ID:8P7IzFhYGNU hello なんかどうだ?
ftp.ring.gr.jp/pub/GNU/hello/hello-1.3.tar.gz
上級者でも ChangeLog 見るためだけにダウンロードしてもいい逸品
0196login:Penguin
01/10/29 22:19ID:a4AJaECx大真面目にhello worldを書くと、こうなるのか...
しかし長いmainだなぁ
0197login:Penguin
01/10/29 23:30ID:mR9/ubrT0198login:Penguin
01/10/30 00:43ID:xPtDT2QA普通使うだろ。
0199login:Penguin
01/10/30 00:59ID:eMU16D1Eまとはずれですね?
0200login:Penguin
01/10/30 01:25ID:mUWNqmCAアクセスできなかった。
ftp.gnu.org/gnu/hello/hello-1.3.tar.gz から取ってきた。
で、いいねこれ。どんなプログラムでも真面目に配布する場合のお手本。
最上級のジョークプログラム、もっと味わうために精進しなきゃ。
0201login:Penguin
01/10/30 01:53ID:k5TgIxQTSat Apr 1 00:27:19 1978 Brian Kernighan (bwk at research)
* Initial version.
おぉ〜 こりゃすごい。
0202login:Penguin
01/10/30 01:58ID:3CWR74Xw0203login:Penguin
01/10/30 02:08ID:k5TgIxQTこの行を見て、理解できるまで約10秒かかった。ハッカー失格かな
蔚出し脳
0204login:Penguin
01/10/30 02:14ID:z9/LFjcaぉιぃかな
#ってエラソー(w
0205login:Penguin
01/10/30 02:23ID:WcNnDgD40206login:Penguin
01/10/30 03:17ID:7xm1duzp鬱山車脳
mainどこにあるの…?(getopt{,1}.cのは違うよね)
0208login:Penguin
01/11/01 00:45ID:40XMd8I5遊び方がわからないのでソースを頑張って読んでます。
なんか、スネークみたいなやつのようです。
http://cobalt.rmnet.it/~san/sins/sins-0.12.tgz
0209login:Penguin
01/11/10 18:57ID:ctjFGrjk0210login:Penguin
01/11/10 20:37ID:l3MGWRuEところで、Windowプログラミングするとき、
キーバインドの取得をCursesでやらせて、
ウィンドウ表示部分をGTK+ でやるなんて
いうプログラミングしたことある?
無理にオールマウスでやろうとすると
日が暮れるんだ...
0211login:Penguin
01/11/10 20:42ID:dKb8HLfI>>210
表示部にマウスカーソルいれると、キーボード入力が
とれなくなりません?
つーか、言ってることが、いまいち理解できん...
0212login:Penguin
01/11/13 15:32ID:MqzmFHkNえっと、物理アドレスA と 物理アドレスBを、一つの仮想アドレスCにまとめたいのですが〜
よろしぴくぴくです。 ネタじゃないじょ〜ちがうじょぉ〜。
おいらも、今、調べてるから、分かったら書き込むじょ〜。
0213login:Penguin
01/11/13 15:34ID:cEWualST頭大丈夫か?
0214login:Penguin
01/11/13 15:48ID:3jOhrPx0物理アドレスとは?
Ethernetアドレス(MAC)のこと?
>>213
自分で自分に言ってどうするのだ?
0215login:Penguin
01/11/13 15:48ID:MqzmFHkN無限ループしちゃってるYO…ドンマイ!
0216login:Penguin
01/11/13 15:51ID:MqzmFHkN物理アドレスでなくても、いいです!、2つを1つの仮想アドレスにまとめたいのれす。
ちなみに、VRAM関係です〜
0217login:Penguin
01/11/13 15:57ID:MqzmFHkNゴメソ、訂正:アドレス => メモリ領域
なんか変てこな文章になってたかも。
0218login:Penguin
01/11/13 16:33ID:MqzmFHkNそこに、vm_area_structを2つくっつけて一つのメモリエリアを作る?
うーおーーわかんねぇ〜
http://google.com/search?q=linux+node181&lr=lang_ja&lh=ja
空間モデル
プロセスは各々独立した空間を持っているが、その独立した空間 一つは、
メモリ管理構造体mm_struct一つによって管理されている。
つまり、一つのプロセスは、一つのメモリ管理構造体mm_structを 所有している.
仮想空間管理構造体vm_area_structは一続きの連続した仮想空間を 管理する構造体である.
プロセス空間のうち, 有効な空間は非連続な複数領域であり、
それぞれの領域に対して仮想空間管理構造体vm_area_structが 割り当てられる。
メモリ管理構造体mm_structのmmapメンバには複数の仮想空間管理構造体 vm_area_structが
リンクされることになる. このvm_area_structの総計がこのプロセスが利用できる有効な空間である.
また、メモリ管理mm_struct構造体は, PGD, PTE 領域を管理している. PGDとPTEは,
上記プロセスの仮想空間アドレスを物理メモリアドレスに 変換するテーブルである.
実際の変換処理はCPUが自動的に行う. (Intel CPUの場合)
Linuxでは仮想的にPTEに物理メモリメモリ以外のものを割り当てることも できる.
これらのページへのアクセスがあるとき発生するCPU例外を 利用して,
動的に仮想的に割り当てたオブジェクトから、物理メモリへの データの読み込みを行っている。
0219login:Penguin
01/11/13 16:34ID:WwYnxOR8受けた..
0220login:Penguin
01/11/13 19:11ID:9iytYZyN私は半年以上やってるのにロクなことができません。
MSDNライブラリ片手にでも練習しなければ
難しいと思うのですが。特にLinuxでは
0221login:Penguin
01/11/13 19:32ID:ni7T++E6>>213 >>216
ネタじゃないと仮定して,1つの仮想アドレスが複数の物理アドレスを
指すというのは無理じゃない?(複数の仮想アドレスが同一の物理アド
レスを指すのなら可能)
VRAM関係ということで,たぶん「1つの物理アドレスに書いたら複数の
VRAMにアクセスできる」ってのがやりたいのだと思うけど,そこまで
都合の良いアーキテクチャは,漏れの汁範囲ではない.
それが可能なら,物理アドレス$pppp〜$qqqqを論理アドレス$vvvvに
割り当てて,$vvvvに0を書き込んだだけで$pppp〜$qqqqをゼロクリア
とかできるな.おお!便利じゃん!(藁
0222login:Penguin
01/11/13 19:39ID:ni7T++E6MMUやるならLinuxカーネル読むよりも素直にアセンブラで
テストプログラムとか書いたほうが理解早いかも.
0223namu
01/11/13 19:57ID:SDZWkQqv0224login:Penguin
01/11/13 20:41ID:MqzmFHkNどもども、VRAMが$あああー$いいい と、$うううー$えええ、が、あったとすると。
連続した仮想メモリ$ほほほほーへへへへにマップしたいのれす。
今のとこ解ってきたのは、/linux/mm/memory.c の、
int remap_page_range( unsigned long from, unsigned long phys_addr, unsigned long size, pgprot_t prot)
がぁ、あやしい。
>>220
若気の至りというか、初心者根性で、ズカズカと、とりあえず、壁にぶつかるまで試して見ればいいんでは〜。
そうすれば、限界とかわかるのかぁ… って自分に言ってるのかぁ… (お恥ずかしい ポッ)
おいら〜、C言語て、挫折歴含めて1,2年かも 、なのにーなーぜー♪ まともなの作ったことないしなぁ (汁
PS. アセブリで、MMU…、ウォーーン ←吠えてる
0225login:Penguin
01/11/13 21:25ID:rVDrduKNあああ、いいいとかじゃなくて適当な数字で具体的な例を出して欲しいな。
例えば、
0x1000〜0x2fffと0x5000〜0x6fffの2箇所にVRAMが分かれていて、これを
0x8000〜0xbfffに連続して割り当てたい
(0x1000〜0x2fff を 0x8000〜0x9fff へマップ、
0x5000〜0x6fff を 0xa000〜0xbfff へマップする)
と、そういう意味でいいの?
だったらremap_page_range()を2回やるだけなのでは。
ところで、remap_page_range()ってカーネル内サービスだけど
デバイスドライバを作る気なの? 質問者のレベルから察するに、なんだか
ユーザープロセスでやる気になってるような予感がするんだが…。
0226login:Penguin
01/11/14 00:35ID:Ss1gUq1wどーーも〜、そうっすそうっす!ドライバ作りたいんっすぅ。
で、0xa0000 - 0xa1fff と、 0xa2000 - 0xa3fff を、
ひとつの仮想メモリ上にマップしたいんっっす。
仮想メモリ上ではアドレスはどこでもいいっす。
io_remap_page() これを2回でいいかも。
ありがとうっす。
ちなみに、ユーザープロセスで、mmapで、
これと同じようなことってできるのかなぁ。
そうすれば練習できるし…
m = (unsigned long*)malloc(0x10000);
n = (unsigned long*)malloc(0x10000);
なんて確保したのを、n を、m のすぐ後ろにもってくようなことってできるのかなぁ…
0227226
01/11/14 00:38ID:Ss1gUq1w0228login:Penguin
01/11/14 00:53ID:hU7iP5Sqどこぞに「コマンドのネーミングはこうあるべき」とかいう資料ありますでしょうか?
文字数とか、動詞+名詞の形にするとか。
0229225
01/11/14 01:20ID:5XuH0aypあ、本当にデバドラを作るのね。疑ってスマソ。
>で、0xa0000 - 0xa1fff と、 0xa2000 - 0xa3fff を、
>ひとつの仮想メモリ上にマップしたいんっっす。
最初からそう書いてくれれば話が早いのに…っていうか、
0xa0000 - 0xa1fff と0xa2000 - 0xa3fffってアドレス連続してるじゃん!
別に2回に分ける必要ないのでは。
malloc()で取ったメモリをmmap()で再配置するというのは無理ですな。
mmap()の引数に取るのはfdなので、マップするのはファイルの形を取ってないと。
仮にできたとして、そんなことやったら以後のmalloc()のメモリ管理が破綻すると思われ。
でも、VRAMのマップだったら、/dev/kmemをopenして適当なoffsetを指定して
mmap()すれば、ユーザープロセスでも可能なのかも?
LinuxでユーザープロセスからVRAMをいじってそうなkonとか、svgalibとかのソースを
調べてみたら参考になるかも知れないよ。
0230login:Penguin
01/11/14 02:06ID:Ss1gUq1wどーれ、レスついってかなぁーって、
茶をススリながら見てたら吹き出しちゃったYO
0xa1fff の次って 0xa2000 じゃないかYO。
おいら的に盲点でした、ホントスマソ。
malloc()したのを再配置は、できないっすかぁ、やっぱりというか…
svgalibを参考にして、/dev/memからマップは試したことがあるんだけど、
rootでないとマズソウというか、裸を覗いてるようで、引いてしまった。汗
あー、でも、RAMデスクでもつくってマップするって手もあるかも…
ところで、/dev/kmem って?ほにゃ? 調べてみたYO。
/dev/mem は物理アドレスで、
/dev/kmem は仮想アドレスなんだってYO
/dev/port はi/Oポートかぁ… 奥が深い。
023123
01/11/14 02:42ID:J7qBEFGjいつからって、そもそも、ドキュソな1を23がもてあそぶスレでしたが?
(つーか、よくここまで延びたものよのぉ。100レスこえてるし。)
0232login:Penguin
01/11/15 09:30ID:YImP/02jVT と VC ってなにが違うんだYO について簡潔に説明してちょ。
0233login:Penguin
01/11/15 09:53ID:jWujUG9E教えてクンは帰ってよし。
0234login:Penguin
01/11/17 12:43ID:2yWe0wAfTerminal ってのは、カーソルの位置を変更したり、改行したり、
画面を書き直したり、ビープ音を出したり、する命令セット。
conosleの用意してる基本的な命令を使ってつくってある。
Console ってのは、putc puts bmove blank scrooll
と画面に文字を表示するのに基本的な命令。
Virtual Terminal になると、/dev/ttyXが増える。
こんな感じか? 違ってたらスマソ。
0235login:Penguin
01/11/18 22:52ID:SQ/8M/FX誰か、チャレンジしてみてくれ!
(俺? 俺はまだ、環境を整えていて……)
0236login:Penguin
01/11/18 22:56ID:d1Z9HBk2> (俺? 俺はまだ、環境を整えていて……)
激しくワラタ
0237login:Penguin
01/11/19 00:26ID:amn6+NODカナーリ変ですよ?
Terminalが命令セットってのは、ちょっと飛びスギ。
# termios構造体/関数群と混じった?
一般的に「terminal」って「端末」って訳すよね。
汎用コンピュータとかにシリアルとかでぶら下がった
「ディスプレイとキーボード」が語源でしょ?
で、「バーチャル」なんだから、「あたかも実際に端末が
あるかのように動作する何か」なわけ。ktermとかは、
「ディスプレイとキーボード(の入力)」の役割をはたして
くれてるってこと。
対して、Consoleは、「機械本体に付いてる操作盤」(かな?)。
PCだと、モニタとキーボードのセットになるのかなぁ?
で、「それがあたかも沢山あるようにみせる」のがバーチャル
コンソール。シリアル経由で実現してるのがシリアルコンソール。
/dev/ttynってのは、コンソールのほうだよね。
0238login:Penguin
01/11/24 00:32ID:Y97Ro4oE0239login:Penguin
01/11/24 01:16ID:jAbs42Ef0240login:Penguin
01/11/24 01:32ID:sPN+pG0Dかなかんじへんかんさーばーとつうしんできないってえらーが
でてきてかんじにへんかんできません。
こんそーるで
# kinput2 &
とたたいてもおなじです。
# kinput2 -cannna &
や
# kinput2 wnn &
とやってもむりっぽいです。
0241240
01/11/24 01:34ID:sPN+pG0Dmatigaeta.
0242login:Penguin
01/11/24 01:50ID:1vB9QgBa0243login:Penguin
01/11/24 01:51ID:Obi8nD190244login:Penguin
01/11/24 09:36ID:3cCCjuC40245login:Penguin
01/12/04 20:00ID:PX2sN14O0246login:Penguin
01/12/10 02:46ID:+jajawVP0247login:Penguin
01/12/10 03:17ID:Gh/SCYLI0248login:Penguin
01/12/10 03:59ID:BAt9bGZxこれならBSDのmanサイト行った方が100億倍マシ。
JFも化石情報しかねーし。
0249
01/12/19 17:14ID:gFZQwsSe0250login:Penguin
01/12/20 00:18ID:gZ06gkHn最新情報は英語で読もうよ。
0251login:Penguin
01/12/20 05:29ID:tie0dKm6BSDも似たようなもんだと思うがな
0252login:Penguin
01/12/21 00:33ID:UU8yTCiKでも、ディストリビュータは、なるべく早くアップデートして
もらいたいと思うよ。
Turbo7でext3に移行しようとおもったんだけど、manだけ見たら
ext2toolが-jオプションサポートしてないかと思った。
--helpで確認したら-jあるじゃん、と。
で、その後で調べ物ついでにJMのサイトみたら、なーんと、
すでに-jオプションつきの翻訳でてるし。
セキュリティアップデートも大切だけど、こういうトコも
頑張ってほしいなぁ。>ディストリビューター
0253telnetor
01/12/21 22:20ID:B0gmM25N0254login:Penguin
01/12/21 22:20ID:ooiQJ5gcLinux は英語の man page であっても書いてあることが古かったり欠けてたり
して困るヨ。特に section 2 と 3 あたり。
これに関しては BSD の方が良さげ。まあ、開発スタイルが違うのである意味
当然の違いだが。
0255login:Penguin
01/12/22 00:20ID:VaQrLQDwglibc の info は結構まともだよ。
0256login:Penguin
01/12/22 10:25ID:I4jGlFF3情報は一元化して欲しいと思うんだが。
たらいまわしにすんなって感じ
0257age
01/12/31 20:25ID:wf6RQNNh0258login:Penguin
01/12/31 23:27ID:QI9NKinj開発スタイルで、どう実現するのかを小一時間問いつめたい、
じゃなかった、考えたい。
0259login:Penguin
02/01/01 00:27ID:9SI2mqTfパイプに入力が無いにもかかわらず、
すぐに、
selectが戻り値 1 でリターンして、
(パイプについてFD_ISSETも正を返す。)
当然ながら、パイプを読んでみても、何も入っていない。
0260259
02/01/01 00:47ID:9SI2mqTfopen(const char *path, O_RDONLY);
と非ブロッキングのフラグ無しで名前つきパイプをオープンした時、
何らかのプロセスが同じ名前つきパイプをオープンするまで、
このopen呼びだしは、ブロックする。
とあるのに、ブロックしない。
調子にのって最新のカーネルをいれたのが間違いだったようです。
0261259
02/01/01 00:49ID:9SI2mqTfじゃなくて
読みだし専用かつ、非ブロッキングのフラグ無し
で名前つきパイプをオープンした時
でした。
0262login:Penguin
02/01/09 19:10ID:cGPnxeEfこうして壁にぶち当たってそのままになっていると、
プログラミングが嫌いになっていって、プログラマ
候補生がまた一人逝ってしまうのだろうな。
ところで、パイプのノードはちゃんと作ったかい?
( mknod 使った?)
0263login:Penguin
02/01/10 09:42ID:KaV77Pvt名前付きパイプは作りました。
入力がある時は、入力を得ることはできるのです。
でもselectがブロックしないんだったらselectの意味がないのではと。
0264login:Penguin
02/01/10 12:29ID:AYoOY4G0させたいのか分かりませんが、私の環境では open はブロック
します。また、select は相手側がオープンしていないとすぐに
リターンするそうです。
ls -l であなたの作ったノードに p がついていますか?
パイプのノードを作るときは
if( access( "path", F_OK ) ) mknod( "path", S_IFIFO | 0666, 0 );
のようにします。
0265263
02/01/10 19:51ID:KaV77Pvtmknod( "path", S_IFIFO | 0666, 0 );
を
mknod( "path", 0666, S_IFIFO);
としていました。
------
ところで、
非ブロッキングモードで開いた名前付きパイプをselectシステムコールで監視した時
他のプロセスが名前付きパイプを開く (selectはリターンしない)
他のプロセスが名前付きパイプに書き込む (selectがリターンして、パイプをreadすると、書きこんだバイト数を返す)
と、ここまではいいのですが、
他のプロセスがパイプを閉じて終了 (selectがリターン、パイプをreadすると0が返る)
この後, selectがブロックしなくなり、パイプへのreadも0を返すの繰り返しになってしまう。(結果システムの負荷が上がる)
ところが、別のプロセスが名前付きパイプを新たに開くと通常のブロックする動作に戻る。
-----
というわけで、readが0を返したら非ブロックモードで開いている名前付きパイプの、読み手側がパイプをクローズしたと解釈して、改めて名前付きパイプを開き直すという方法で、すべて問題が解決しました。
0266263
02/01/11 18:43ID:PgrWGniX「読みて側がパイプをクローズしたと解釈して…」
は
「書き手側がパイプをクローズしたと解釈して…」
の書き間違いです。
ソケットを監視してる時と、名前付きパイプを監視してる時とでは、
相手側がクローズしたときのselectの挙動が違うということが言いたかったわけです。
(ソケットだとreadが-1を返す。)
確かに名前付きパイプの場合、相手側がクローズしたとしても、
エラーではないから、readが-1でなくて0を返す方が自然だし、-1を返すとしたら本当のエラーと区別がつかない。
0267login:Penguin
02/01/11 18:50ID:BX1XovQQ私の記憶違いかなぁ、ソケットの切断確認は
read() == 0 でやってたと思ったのですが。
ブロックしてると違うのかな。
会社にいないので確認不能です。(スイマセン)
0268login:Penguin
02/01/11 22:06ID:p3D7ZwgC俺の場合、「正常時、正の整数を返し、異常時0を返す関数」の
エラーチェックは、if(rval <= 0){} でやってるなぁ。
ドキュメントに書いてなくても負の値かえすかもしれないし、
自前の関数でも、後からエラーの種類によって振り分けたくなるかも
しれないし....
あと、>>265みたいなミスをなくすには、mkfifo(3)なんてのも
イイかもね。
0269263
02/01/12 10:48ID:+FMGgANkすいません
やっぱりソケットでも0でした。
試してませんが、本にそう書いてありました。
だから、
266の下半分はウソなので見ないでください!
0270login:Penguin
02/01/12 16:48ID:3tBEAC3g本当に信用できるのは、自分で検証したことだけです。
0271Vackerナイスです。へへ
02/01/17 05:15ID:7/zk0gL9『Tcl/Tk?Linux版HSPでしょ!おいそこ左舷前方弾幕薄いよ
なにやってんの!』とか煽れば?Win::HSP厨に。
つー事でTcl/TkのTipsな!な!なっ!
http://www.geocities.co.jp/SiliconValley-Oakland/1680/tcl_tk.html
http://www.sra.co.jp/people/haga/tcltk/index.html
まあ、俺としてはだ、Cやpascalに慣れてしまって調子こいてガンガン
programmingしてるわけだがTclなんぞと言う異質な構文の厨房言語に
かなり悩んでちょっと鬱気味だけどな。
お、なんだそこのテメエ!俺がスレ上げちゃ逝けねえのかよ!糞Win厨はひこん
でろこの糞アフオ糞アフオ糞アフォっっていうかスミマセン上げます。
0272login:Penguin
02/01/17 05:23ID:lWxVHxS6テンション高いねぇ・・・・
あとHSPはナイスだ でもやっぱCとかで組んだ方がソースに愛着わくけど
0273Vacker名椅子です。アフオッツ
02/01/17 05:42ID:jxjoqQ1BHSP最高です!最高です!人生最高です!か?
あ、HSPが良いということではないのか.
0274Vacker
02/01/17 05:43ID:jxjoqQ1B0275Vacker
02/01/17 08:16ID:Ae+97PFNlabel .label1 -text "サウンドのテストです"
#ボタン使って音鳴らすぞハッキン!
button .button1 -text "sound 1" -command {
exec play /usr/share/sounds/login.wav
}
#なんだてめえエラーカマシテンジャねーよ!と言うことで
#/dev/nullにパイプ渡して尻隠し。ついでにバックグラウンドで実行。
button .button2 -text "sound 2" -command {
exec play /usr/share/sounds/shutdown1.wav >& /dev/null &
}
#ついでだからxmmsも起動しちゃっ足りして
button .button3 -text "mp3 music" -command {
exec xmms /home/mp3/music1.mp3 >& /dev/null
}
pack .label1 .button1 .button2 .button3 -fill both
0276Vacker
02/01/17 08:19ID:Ae+97PFNLinuxでウハウハしとけ。
HSPだかんな。Tcl/Tkは。
0277Vacker
02/01/17 08:37ID:eTOBYTl2nantoka.tclて名前で保存してその後、
% wish nantoka.tcl
で実行するんだぞ厨房。あ、サウンドファイル無いってエラーが
出ら適当なwaveファイル使え、な。
0278login:Penguin
02/01/17 23:36ID:/YXIWgzo0279Vacker
02/01/18 04:33ID:uD6vjZQi$ tclsh
でインタプリタか始まるからな。始まると%記号が出るからな。
そこで、だ
% puts stdout "hello world イヤーン"
と入力してみろ。ツウインクルツインクルTclちゃんが命令を解読して""で
囲まれた文字列を表示するからな。どうだHelloWorldだコノヤロ!
0280login:Penguin
02/01/18 05:15ID:ZMYgA2qmマルチスレッドプログラミング相談室
http://pc.2ch.net/test/read.cgi/tech/997345868/
UNIXプログラミング質問すれ
http://pc.2ch.net/test/read.cgi/tech/992057422/
ネットワークプログラミング相談室
http://pc.2ch.net/test/read.cgi/tech/1006258198/
0281Vacker
02/01/18 05:26ID:AbvlHbrBというもと同じだ。
Tclわな、変数は最初に定義してカラ使うんだぞ。例えばaという
変数を使いたければ、
set a 1024
という具合にすればいいんだ。このaと言う変数には1024と言う値が
入っている。値を見るには$記号を付け加えて、
puts stdout $a
とすればaという変数の中身が表示されるわけだ。どうだい!これで
立派なLinuxプログラマーになったみたいだろ?
0282Vacker
02/01/19 15:01ID:+kE4KKV+HSPいや、Tclしてるか、ちくるをYO!
キーボードから数字や文字を入力するのはな、
% gets stdin a
とやるんだ。そうするとだな、変数aに入力された文字が保存されるってわけよ。
試しに
% puts $a
とやって変数の内容を見てみろ。
WooooW It's Cooool!やったぜ!ペンギンのクソッタレ!
これで俺も文字表示とキーボード入力が出来るようになっちまったぜ!
0283Vacker
02/01/20 11:45ID:dWvcz12wぜhack'in!!。例えばこんなだ。
expr 2 + 3
どうだ、なかなかファンキーだろ、え?
計算結果を変数にいれるときはだな、下のようにして[ ]記号で囲むんだ。
set a [ expr 5 + 1 ]
こうするとexpr命令の結果を変数aに代入できるって分けよ。
0284Vacker
02/01/20 11:47ID:dWvcz12wEditorか何かで入力してkunkun.tclと言うファイルに保存してくれ。
puts stdout "数字を入力するクーン"
puts stdout "a="
gets stdin a
puts stdout "b="
gets stdin b
puts stdout "足し算の結果は [ expr $a + $b ] なのよ クククnoクーン
そうしたら今度は tclsh kunkun.tcl とやってプログラムを実行するんだぜ!
おい、プログラムを実行してみろよ!まじかよ!クンクンが計算をしてくれるぜ!
なんてスペシャルフレンドリーな計算機なんだよ!何で俺のLinuxにクンクンがって感じだよな。
まるでポストペットのモモみたいじやねーかよ!
これでexpr命令をハックしたぜ!Fuckin!Baybe!
今日も一日ハイテンションできりぬけられそうだぜ!ハッキン!ハッキン!ハッキン!ハッキン!
ハッキン!ハッキン!ハッキン!ハッキン!ハッキン!ハッキン!ハッキン!ハッキン!
シャッッキーーーーーーン!!!
0285login:Penguin
02/01/20 16:08ID:dWps4DA0け言語の人ですか?
0286Vacker
02/01/23 09:57ID:cqVEVDK1VisualBasicみたいにGUIを使ってプログラミングすることだよな。
たぶんそうだぜ。まあGRAY見たいなギター背負ってシャーウト!とか言ってる
プログラマーもVisual系プログラマーと言うけどな。
Tcl/TkでもGUIプログラムが出来るわけだが、簡単なのやってみようぜ!
まずはktermから、wishと入力してインタプリタを起動させてくれ。
そこで%プロンプトがでたら、
% tk_messageBox -title "hello tcl/tk" -message "hello tcl/tk world"
と入力するんだ。この命令は画面にメツセージボクースを表示するものさ。
ついでだから、ファイルダイアログも表示させてみよう。よくwindowsで見掛ける
やつだがtck/tkから簡単に呼び出せる。
% tk_getOpenFile
どうだい、簡単だろ?ファイルダイアログからのファイル名を変数に保存したければ
set filename [ tk_getOpenFile ]てやればいいわけよ。
0287login:Penguin
02/01/29 02:12ID:oEv2rpfL0288login:Penguin
02/01/29 03:19ID:1Vrjex5N0289login:Penguin
02/01/29 07:07ID:uAr9UbEj0290login:Penguin
02/01/29 07:42ID:ishXBJ4a安い焼酎飲みすぎて悪酔いしてあのテンションなら頷けるが
しらふであれならチョト恐い
0291login:Penguin
02/02/21 20:41ID:B2i6ydgA0292login:Penguin
02/02/21 20:54ID:7GLJZHsg0293名無しさん@Emacs
02/02/22 00:55ID:zwX/UbHVhttp://www.geocities.co.jp./Berkeley/2093/driller.html
にあるドリラーを make しようとしたのですが、SDL_mixer.h がないと言われ
ます。検索してもありませんでした。
$ rpm -qa 'SDL*'
SDL-1.2.3-1
SDL_net-1.2.2-1
SDL_mixer-1.2.0-4
SDL-devel-1.2.3-1
SDL_image-1.2.0-3
SDL_mixer というのは入っているようなのですがこれではいけないのでしょう
か?
0294login:Penguin
02/02/22 01:09ID:zwX/UbHVSDL_mixer-1.2.1-1
SDL_mixer-devel-1.2.1-1
を入れたら make できました。逝ってきます(鬱
0295login:Penguin
02/02/22 17:21ID:zxhEpi7c$tar zxvf SDL-1.2.3.tar.gz
$cd SDL-1.2.3
$./configure; make; make install
$cp /usr/local/lib/SDL.dll /usr/local/bin
としたのですがテストプログラムがコンパイルできません。
checking for SDL - version >= 1.2.3... no
*** Could not run SDL test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means SDL was incorrectly installed
*** or that you have moved SDL since it was installed. In the latter case, you
*** may want to edit the sdl-config script: /usr/local/bin/sdl-config
configure: error: *** SDL version 1.2.3 not found!
と怒られます。どうしたらいいですか?
0296login:Penguin
02/02/22 17:36ID:o0GogGjF>The test program failed to compile or link.
>This usually means SDL was incorrectly installed
って書いてあるじゃん.
あと,make installってrootでやった?
0297295
02/02/22 18:17ID:zxhEpi7ccygwin(win2000) なので root になる必要はないのですが。インストールはエ
ラーも出ないで終了しているので、パスが通ってなくて失敗しているのではな
いかと思うんですが違いますかね。
参考にしたページでは SDL.dll をパスの通っているところ(/usr/local/bin)
にコピーしろとあったのでコピーしました。test ディレクトリとか /usr/bin
とかにも置いてみたりしましたがだめでした。
ここで見つからないと言っているのは SDL.dll のことではないのでしょうか?
http://www.geocities.co.jp./Berkeley/2093/sdl.html
このページを参考にしました。「SDL-1.2.1 以降の WIndows の場合」の部分。
0298Vacker
02/02/22 21:48ID:wGYDaqZ+よし292よ、続けるからぜひHackerJapanにVackerの記事載せろとリクエストの
メール書いちゃったりしてくれ。
0299Vacker
02/02/22 22:25ID:dyoD2KOOをハッキン!してたんだよ。そしたらよ、電源コード反対に繋げちゃってさ、
モデムがきゅい〜〜んとか唸っちゃったりしちゃってんのよ。そんでさドカンっていう
音と共に雷がフラッシュして目の前が激しく明るくなったんだよな。
やっぱり寝起きから「あぅ・・・うぉー朝だぜ、糞とションベンのまえに2chだ!」とか
いって2chしようとしちゃいけないよな。寝ぼけたまま2chしちゃ危ないぜ。
まぁ、そういうわけで292よ、これからも激しくハッキン!してくれ。
0300login:Penguin
02/02/23 01:52ID:wm3gs1fm0301login:Penguin
02/02/23 02:56ID:ZkGoDslu「どんなエラーが起こったかは、config.logを読め」ってかいてあるでしょ。
読んでみた?意味がわかんなかったら、config.logの内容かきな。
# つーか、すれ違いだし、板違いだけど...
0302292
02/02/25 00:08ID:GwZlFUMG0303295
02/02/25 13:40ID:LEc6DJSN長くなってしまって申し訳ないのですが、config.log の途中から書きます。
README.Win32 には cross-configure.sh , cross-make.sh を使うように書い
てあったのですが、そのせいでしょうか? でもこれだと SDL 自体がインストー
ルできなかったので...違うかな。
configure:2159: checking for SDL - version >= 1.2.3
configure:2244: gcc -o conftest -g -O2 -I/usr/local/include -I/usr/local/include/SDL -Dmain=SDL_main -I/usr/include/mingw -DWIN32 -Uunix conftest.c -L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows -mno-cygwin 1>&5
/usr/local/lib/libSDLmain.a(SDL_main.o.b): In function `ParseCommandLine':
/usr/include/mingw/ctype.h:141: undefined reference to `_imp____mb_cur_max_dll'
/usr/include/mingw/ctype.h:141: undefined reference to `_imp___pctype_dll'
/usr/include/mingw/ctype.h:141: undefined reference to `_imp____mb_cur_max_dll'
/usr/include/mingw/ctype.h:141: undefined reference to `_imp___pctype_dll'
collect2: ld returned 1 exit status
configure: failed program was:
#line 2183 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "SDL.h"
char*
my_strdup (char *str)
{
char *new_str;
if (str)
{
new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
}
else
new_str = NULL;
return new_str;
}
0304295
02/02/25 13:41ID:LEc6DJSNint main (int argc, char *argv[])
{
int major, minor, micro;
char *tmp_version;
/* This hangs on some systems (?)
system ("touch conf.sdltest");
*/
{ FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = my_strdup("1.2.3");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
printf("%s, bad version string\n", "1.2.3");
exit(1);
}
if ((1 > major) ||
((1 == major) && (2 > minor)) ||
((1 == major) && (2 == minor) && (3 >= micro)))
{
return 0;
}
else
{
printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", 1, 2, 3);
printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
printf("*** best to upgrade to the required version.\n");
printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
printf("*** to point to the correct copy of sdl-config, and remove the file\n");
printf("*** config.cache before re-running configure\n");
return 1;
}
}
configure:2293: gcc -o conftest -g -O2 -I/usr/local/include -I/usr/local/include/SDL -Dmain=SDL_main -I/usr/include/mingw -DWIN32 -Uunix conftest.c -L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows -mno-cygwin 1>&5
/usr/local/lib/libSDLmain.a(SDL_main.o.b): In function `ParseCommandLine':
/usr/include/mingw/ctype.h:141: undefined reference to `_imp____mb_cur_max_dll'
/usr/include/mingw/ctype.h:141: undefined reference to `_imp___pctype_dll'
/usr/include/mingw/ctype.h:141: undefined reference to `_imp____mb_cur_max_dll'
/usr/include/mingw/ctype.h:141: undefined reference to `_imp___pctype_dll'
collect2: ld returned 1 exit status
configure: failed program was:
#line 2278 "configure"
#include "confdefs.h"
#include <stdio.h>
#include "SDL.h"
int main(int argc, char *argv[])
{ return 0; }
#undef main
#define main K_and_R_C_main
int main() {
return 0;
; return 0; }
0305295
02/02/25 13:43ID:LEc6DJSNごめんなさい。
0306login:Penguin
02/02/25 20:14ID:yeNNgtGXつーか、なめらかに板違いだなぉぃ。
UNIX板のcygwinスレかwindows板か
ム板の範疇だと思うが……
それよりか、winのコンパイル済のSDL32.dllじゃだめなんか?
0307login:Penguin
02/02/25 22:11ID:bMbnSl5L> /usr/include/mingw/ctype.h:141: undefined reference to `_imp____mb_cur_max_dll'
> /usr/include/mingw/ctype.h:141: undefined reference to `_imp___pctype_dll'
> /usr/include/mingw/ctype.h:141: undefined reference to `_imp____mb_cur_max_dll'
> /usr/include/mingw/ctype.h:141: undefined reference to `_imp___pctype_dll'
どう見てもcygwin固有の問題なんですが、、、
どうしてもLinux板でつづけたいですか?
0308login:Penguin
02/02/25 22:26ID:r8cdj1bzこらこら、せっかく来てくれたんだぞ。
>>304
Linuxをインストールすると解決するYo!
# いや、まぢで。
# Windows領域にインストールできるデストリビューションも増えてきたしさ
0309login:Penguin
02/02/26 00:58ID:UwxM9YJu条件式を埋め込みたいんだけど、どうもうまくいきません。
#!/bin/sh
grep hoge hoge.log | ここで$1が数字なら tail -n 数字、$1が数字以外なら cat | ・・・
というようなのをずらずらと書きたいんですけど
どうすればいいでしょうか?
0310309
02/02/26 00:59ID:UwxM9YJu0311login:Penguin
02/02/26 01:09ID:kWRylkzwfor i in `grep hoge hoge.log`
do
if $i...
....
fi
done
じゃダメなのか?
0312331
02/02/26 01:16ID:kWRylkzwgrep hoge hoge.log | (if .... fi) | .....
ではどーですか?
0313309
02/02/26 01:21ID:UwxM9YJu$1 がgzファイルなら zcat、普通のテキストなら cat で表示し
$2 でgrepして
$3 が数字で指定してあればtail -n 数字、そうでなければそのまま
というフィルタリングを行いたいのです。
zcat $1 または cat $1 | grep $2 | tail -n $3 または cat
という処理を書きたいのですが・・・
なるべくtmpファイルは途中で生成したくないと考えてます。
0314login:Penguin
02/02/26 01:44ID:HpGR26ajecho $1|grep -e 'gz$' > /dev/null
if [ $? -eq 0 ]; then
CAT=zcat
else
CAT=cat
fi
if [ "$3" = "" ] ; then
TAIL="tail -n $3"
else
TAIL='cat'
fi
$CAT $1 | grep $2 | $TAIL
0316login:Penguin
02/03/02 17:23ID:252oT5b1503is買おうか迷ってるんですが・・。
0317login:Penguin
02/03/02 17:56ID:aAidBm2I0318キタ
02/03/03 18:48ID:TIN10b/Mint main(int a, char *b[])
{
int i;
char *kita[7] = {
"(゚∀゚)",
"( ゚∀)",
"( ゚)",
"( )",
"( )",
"(゚ )",
"(∀゚ )"
};
while (1) {
for (i = 0; i < 7; i++) {
printf(" キタ━━━%s━━━!!!!!\n%cM", kita[i], 27);
usleep(200000);
}
}
}
0319login:Penguin
02/03/03 18:53ID:zGw1I9Gsuse strict;
$_='ev
al("seek\040D
ATA,0, 0;");foreach(1..2)
{<DATA>;}my @camel1hump;my$camel;
my$Camel ;while( <DATA>){$_=sprintf("%-6
9s",$_);my@dromedary 1=split(//);if(defined($
_=<DATA>)){@camel1hum p=split(//);}while(@dromeda
ry1){my$camel1hump=0 ;my$CAMEL=3;if(defined($_=shif
t(@dromedary1 ))&&/\S/){$camel1hump+=1<<$CAMEL;}
$CAMEL--;if(d efined($_=shift(@dromedary1))&&/\S/){
$camel1hump+=1 <<$CAMEL;}$CAMEL--;if(defined($_=shift(
@camel1hump))&&/\S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if(
defined($_=shift(@camel1hump))&&/\S/){$camel1hump+=1<<$CAME
L;;}$camel.=(split(//,"\040..m`{/J\047\134}L^7FX"))[$camel1h
ump];}$camel.="\n";}@camel1hump=split(/\n/,$camel);foreach(@
camel1hump){chomp;$Camel=$_;tr/LJF7\173\175`\047/\061\062\063
45678/;tr/12345678/JL7F\175\173\047`/;$_=reverse;print"$_\040
$Camel\n";}foreach(@camel1hump){chomp;$Camel=$_;y/LJF7\173\17
5`\047/12345678/;tr/12345678/JL7F\175\173\047`/;$_=reverse;p
rint"\040$_$Camel\n";}#japh-Erudil';;s;\s*;;g;;eval; eval
("seek\040DATA,0,0;");undef$/;$_=<DATA>;s$\s*$$g;( );;s
;^.*_;;;map{eval"print\"$_\"";}/.{4}/g; __DATA__ \124
\1 50\145\040\165\163\145\040\157\1 46\040\1 41\0
40\143\141 \155\145\1 54\040\1 51\155\ 141
\147\145\0 40\151\156 \040\141 \163\16 3\
157\143\ 151\141\16 4\151\1 57\156
\040\167 \151\164\1 50\040\ 120\1
45\162\ 154\040\15 1\163\ 040\14
1\040\1 64\162\1 41\144 \145\
155\14 1\162\ 153\04 0\157
\146\ 040\11 7\047\ 122\1
45\15 1\154\1 54\171 \040
\046\ 012\101\16 3\16
3\15 7\143\15 1\14
1\16 4\145\163 \054
\040 \111\156\14 3\056
\040\ 125\163\145\14 4\040\
167\1 51\164\1 50\0 40\160\
145\162 \155\151
\163\163 \151\1
57\156\056
# camel code, copyright 2000 by Stephen B. Jenkins
# The use of a camel image with the topic of Perl
# is a trademark of O'Reilly & Associates, Inc.
# Used with permission.
0320login:Penguin
02/03/03 22:24ID:9bkrojNdワロタ
>>319
すげ〜
0321Vacker
02/03/09 00:58ID:pgqd7Ztz「せいなるかねのねが〜ひび〜くこおろおにぃ〜
さぁいはてぇ〜のまぁちぃなぁみぃを〜ゆめ〜にみるぅ〜
てぇんしぃ〜がそぅらかぁら〜お〜りてきぃて
はぁるかぁくぅるぅまぁえにぃ〜ほほぅえみぃぅをくぅれぇたぁ〜
ここころおれないようにまぁけないように
ろぉんりぃね〜
しぃろぉいこぉいびぃとぉが〜まぁっている〜
ぅだかぁらぁゆぅ
めときぼうをむねにいだぃて
0322login:Penguin
02/03/09 01:03ID:vpqi9f9X悪いが板ちがい。
プログラミングねたにしてくれ
0324login:Penguin
02/03/09 09:55ID:4PDxIO921: 1〜9、a〜zを格納した配列を用意
2: 9+26=35なので0〜34の乱数を発生
3: これを配列のインデックスににして、文字を決定
4: 2-3を4回繰り返し、文字列として結合
include <stdio.h>
char table[35]="123456789abcdefghijklmnopqrstuvwxyz";
char randstr[5];
FILE *fp;
int i;
int tmp;
if((fp=fopen("/dev/random","r"))==NULL){perror("/dev/random");exit(1);}
for(i=0;i<4;i++){
tmp = fgetc(fp);
randstr[i] = table[tmp%35];
}
randstr[4]=0;
fclose(fp);
0325login:Penguin
02/03/09 09:56ID:4PDxIO92あと、全角スペースいれてるから注意して。
0326login:Penguin
02/03/09 11:39ID:3VUFTEsNウケタ。
二次元配列使ってモナーの「ワケワカランワケデモナイ」
とかもできそうだね。
0327login:Penguin
02/03/09 12:52ID:2F0vZ9RW用途が鬱なものしか思い浮かばないから、やめた...
UNIX/Linux板がAAの嵐になるのもアレだし。
お手数お掛けしました。
有難う御座います。
0329login:Penguin
02/03/16 07:01ID:8WW1ZYNb0330login:Penguin
02/03/16 16:36ID:DzswhZiE赤飯炊いてください
0331login:Penguin
02/03/17 00:58ID:oL8hr3lg作っても良いが固定ピッチ端末じゃAAがきれいに見えないのが辛い。
0332Vacker
02/03/17 02:32ID:+a/Oz7wRホームレスハッカー「ラモー」
http://www.hotwired.co.jp/news/news/culture/story/20020308204.html
0333デフォルトの名無しさん
02/03/17 06:38ID:rKqNVMk6萌え萌えw
0334Vacker
02/03/17 07:16ID:Ve6CaAn40335login:Penguin
02/03/17 07:52ID:V4P8Ci8Uフォントの設定を行ったにもかかわらず
Cannot convert string "-ryobi-minchol-...." to type FontStruct
と、コンソールにエラーが出てGUIでは文字化けしてしまいます
どうしたら良いでしょうか?
FTP版だとダメなんでしょうか?
ちなみに、JustSystemのHPに載っている設定方法を試しました
お願いします助けてください
0337login:Penguin
02/03/17 09:47ID:K5wvpRZWええ、ですからフォントの参照先を変えたいんですけど
どうすればよいのかわからなくって・・・
0338329
02/03/18 18:12ID:hViV/2q50339login:Penguin
02/03/18 21:22ID:YVsKkvN6残念だけど外出
http://pc.2ch.net/test/read.cgi/unix/1008261818/
対抗馬になるか改良するかどっちかですね。
がんばって下さい。
0340login:Penguin
02/03/19 00:50ID:zxZSSbSP0341login:Penguin
02/03/19 01:33ID:3nGAD5if0342login:Penguin
02/03/19 03:47ID:zxZSSbSPusage: wclock [-12〜+12]
日本の場合-9
% cat wclock
#!/bin/sh
if [ "$1" != "" ]; then
TZ=XXX$1
export TZ
echo " TZ=$TZ"
fi
echo " +=====================+"
while :
do
date +" | %Y/%m/%d %H:%M:%S |"
echo " +=====================+"
sleep 1
echo -e "\033M\033M\033M"
done
0343329
02/03/19 04:29ID:1mJ1+9mb0344名無しさん@Emacs
02/03/19 08:47ID:vx5jf9AKキボ-ン
0345329
02/03/19 16:03ID:1mJ1+9mb要らないと思うけどアップします。
$ gcc ccc.c -o ccc -lcurses
でコンパイルして、操作法は
方向キーで移動、F1〜F8キーで色を変えて、
その他の普通のキーで文字を書きます。
そして'Q'で終了します。
みんなでお絵書きしましょう。
0346login:Penguin
02/03/19 16:16ID:ezuzc5rirxvt はうまくいくけど kterm, Mlterm では
ファンクションキーの取得が出来ていない模様。
0347344
02/03/19 22:13ID:vx5jf9AK確かにktermだとF1〜F4が効かないみたいっす。
# ^Oとそれぞれ P,Q,R,S が入力されちゃう
F5〜F8は効くみたいだけど。
rxvtは入れてないから分かんないっす。
0348329
02/03/20 02:54ID:17hsvpxp0349login:Penguin
02/03/20 05:28ID:14QD3U3Pフォントの設定を行ったにもかかわらず
Cannot convert string "-ryobi-minchol-...." to type FontStruct
と、コンソールにエラーが出てGUIでは文字化けしてしまいます
どうしたら良いでしょうか?
FTP版だとダメなんでしょうか?
ちなみに、JustSystemのHPに載っている設定方法を試しました
お願いします助けてください
フォントの参照先を変えたいんですけど
どうすればよいのかわからなくって・・・
0350login:Penguin
02/03/20 16:36ID:ZXZH8grQとりあえずローマ字ですれ。あとはWinでswingプログラミンゴすれ。
0351login:Penguin
02/03/20 18:27ID:FC6U4/jBまあ、それでもいいんですけどね
0352login:Penguin
02/03/20 18:30ID:hEleuR04マルチプラットホームらしい。
ttp://www.widestudio.org/
ガイシュツ?
0353login:Penguin
02/03/20 19:43ID:RZu+6gFB0354login:Penguin
02/03/20 23:28ID:qC/inkUPcursesつかってアクションゲームはやめとけ。
俺は、音ゲーつくろうとして、悲しい思いをした(w
0355login:Penguin
02/03/21 02:45ID:5/+xRgx90356login:Penguin
02/03/21 02:58ID:9pmYpm5X0357login:Penguin
02/03/21 03:14ID:AiXx6DVLwidestudioじゃない?
>>355
漏れもインストールしてみた。
Win版だけど…
とりあえず。helpでも読むかね…
ってこれg++やん。。。
コンパイラとリンカをgccに換えれば良いのかな…(ドキドキ
0358348
02/03/27 15:54ID:kfhea9b4音ゲーってことはタイミングよくキーを押させるんですよね?
自分はgetch()関数しか知らないのですが、これでは
キーを押すまで全てが待ってしまいます。
なんかいい方法ないでしょうか?
0359login:Penguin
02/03/27 18:42ID:qRMua0io0360login:Penguin
02/03/27 23:40ID:Md2CuLe+先行入力が効いてしまいそうな感じ...(BASICのINKEY$みたく)
実行速度が速いならだいじょうぶか(でもキーリピートが...)
INPにあたるものは無理かな(curses組んだことないので、なんとも)
0361login:Penguin
02/03/28 20:45ID:a7UA/nCo先行入力なんて全然恐くないと思うが。
キーリピートくらいかかっても全然キーバッファには
たまらないと思う。どうしても必要なら2回目以降の
入力は単にread()して捨てればいいし。
0362login:Penguin
02/03/30 01:51ID:mpZbUyZ2curses使ってるときは、selectはダメでわ?
>>360
おとげーもどき作ったときのソースは、消しちゃってた。
当時のとは別だけど、「たしかこんな感じだったよなー」っての書いたYO!
0363login:Penguin
02/03/30 01:59ID:mpZbUyZ2はい。
inputdemo.cは、コメントが多めに入ってる。
そんかわり、cursesによる表示内容は少なめ、これ。
'q'の入力で終了っす。
0365login:Penguin
02/03/30 19:36ID:dcJw2Jul0366login:Penguin
02/03/30 19:58ID:bTREfqd2gunzip inputdemo.c.gz
で
inputdemo.c
ができませんか?
それでダメなら、とりあえず、
less inputdemo.c.gz
してみて下さい。(ブラウザが、勝手に展開してるのかも)
もし、htmlヘッダみたいなの見えちゃったら、教えて下さいな。
対策考えるです。
これから出かけるんで、失礼。
0367login:Penguin
02/03/30 22:36ID:dcJw2Jul0368366
02/03/30 23:36ID:JPI70+38>>367
よかったよかった。
んで、コメント多めに入れたつもりですけど、わかりにくいと思うんで、
誰でも何でも聞いて下さい。
あと、あまり普通のやり方じゃないかもしれないですし、問題とか
気づいた人、教えてください。煽りも歓迎。勉強させてくださいな。
0369login:Penguin
02/04/05 18:42ID:rMAy0SP7自分は未だにviだけどもっと良い環境にしたい..
emacsの方が良いのかな.
0370おむこさん志望 ◆GqCwfDSA
02/04/05 19:02ID:BMn9N6Vzエディタじゃないけど、devhelp(http://www.devhelp.net)はいいよ。
glibcとかgtk+のリファレンスマニュアルとして重宝してます。
0371369
02/04/06 01:28ID:carhLpBJしかも簡単だし.
ビデオ関連とタイマー覚えたら簡単なゲーム作れそうだね.
基本ライブラリでbmp形式しか使えないのは痛いけど.(スプライト作れない?)
他にimlib使って端末上で2dでグラフィカルなゲームとかも作れそうだ.
0372login:Penguin
02/04/06 01:33ID:mH55Z1Cz開発環境はSAMBA+TELNET使ってWINDOWS2000からエディット
コンパイルするのが一番効率的かと。
0373login:Penguin
02/04/06 01:34ID:uf9JfT1u(1)馴れ合い禁止。(一人で来る事。同伴禁止:いても知らぬ顔)
(2)「大盛りねぎだくギョク」を頼むこと。(並盛りねぎだくギョクも可)
(3)各会場ごとに指定時間厳守で現地集合。
(4)食ったら即帰る。
注)吉野家は家に帰るまでが吉野家です。
http://ex.2ch.net/test/read.cgi/entrance/1017935504/l50
http://www2.mnx.jp/carvancle/yoshigyu/ スレよりぬき等
0374login:Penguin
02/04/06 02:19ID:UVKoCCB3SDL_image ライブラリを使うと、各種画像ファイルを扱えるYO!
http://www.libsdl.org/projects/SDL_image/index.html
Windows だと、これが依存するライブラリも入れなきゃならんので大変っぽいっけど。
他にも SDL には便利なライブラリがあるから、チェックするといいと思われ。
0375login:Penguin
02/04/06 08:59ID:9GH2Tjkfサーフェスに透過色指定できるから、透過色を決めておけばBMP
のピクセル列からスプライトも作れるよ。
0376login:Penguin
02/04/06 10:00ID:Zy9CkOgp折れは、>>375に加えて、スプライト管理関数みたいなの
つくって管理してる。
put_sprite(surface1,x1,y1);
put_sprite(surface2,x2,y2);
.
.
.
flush_sprite();
こんな感じ。
put_sprite()でSDL_Surface *sp[]に並べていく。
flush_sprite()で実際にscreenに背景と重ねてから
SDL_BlitSurface()してSDL_Flip()する。
0377login:Penguin
02/04/07 00:14ID:YTBbGOwM最初にそれはチェックしてましたがWinだと依存問題もあると辛い..
当分は基本ライブラリでなんとかやってみます.でもサンクスコ.
>>375,376
お陰でアニメーションも作れそうです,サンクス!
SDL_Flip使ってるって事はSDL_DOUBLEBUFとSDL_HWSURFACEをSDL_SetVideoModeでフラグ
で入れてるんだよね?
うちのはそれセットしてもSDL_VideoInfo()->hw_availableが1にならんからセットせず
にSDL_UpdateRect使ってるんだけど...
0378login:Penguin
02/04/07 00:19ID:iVBGD2/eそういう状態ならSDL_Flip()は、
SDL_UpdateRect(screen,0,0,0,0);
と同じように振舞うはず。# とバカ一代の記事にかいてあった。
HWSURFACEとかがダメなのは、XFreeとSDLのコンパイル時の問題かな?
それとも、rootで実行するとOnになったりしない?
0379login:Penguin
02/04/07 00:23ID:iVBGD2/eImageMagickのconvertコマンドとかでフォーマット変えてからでも
いいけど、やっぱPNGとか直で使えるのはラク。
a_surface = Image_Load("filename.png");
だけで、フォーマット自動認識だし。
0380login:Penguin
02/04/07 03:51ID:cLABCWjBhttp://sports.2ch.net/test/read.cgi/k1/1017934497/l50
0381login:Penguin
02/04/10 11:30ID:Ps++pzgzすごく簡単らしいんだが..
0382login:Penguin
02/04/10 13:06ID:Ce64lgBnネタですか?マヂですか?
0383login:Penguin
02/04/10 13:22ID:1o5n4Ltskylic?
0384381
02/04/10 15:36ID:Z/tOe28B0385login:Penguin
02/04/10 17:48ID:h8Vq7GPeGlade より20倍楽! Qt より(以下略
Object Pascal 覚えなくちゃいけんけどねぇ。
0386login:Penguin
02/04/10 18:03ID:Ce64lgBnちゃった。。。インストール失敗してたのかなぁ。。。
0387login:Penguin
02/04/10 18:41ID:h8Vq7GPeVer3 くらいで安定するかな?
Ver1 をだましながら使ってた。RH7.1
0388login:Penguin
02/04/11 00:20ID:rg7n5KP/そーなのかな?
Kylix2だけど、とりあえず変な落ちかたとかしたことないよ。
まだ使い込んでないけど。
0389login:Penguin
02/04/11 00:21ID:rg7n5KP/setup.shが変なとこで止まるから、ちょこっと手を加えて
インストールした。
0390login:Penguin
02/04/13 05:49ID:6ipwzKQ/SDL.hだけで音再生はサウンドプログラム未経験の自分には敷居が高すぎた.
0391login:Penguin
02/04/13 12:25ID:5DTUvdcXSDLのサウンドは、バッファを自分で埋めたり初期設定が少し面倒そう
だけど実際にやってみると「waveのメモリイメージを鳴らす」程度なら
意外に簡単でした。「リアルタイムにサウンドバッファを埋めバッファ
を再生する」仕組みが最初から準備されている分、サウンドプログラミ
ングの入門にも適しているかも。
0392login:Penguin
02/04/13 13:27ID:5dKKtM8/最初はSDL_LoadWAV使ってやろうと試みたが鳴らなかったよ.
その後,Mixerの存在を知り
Ada氏のページやhttp://www.kekkai.org/roger/sdlに行ってやっとできた.
原因を調べた所,イベントで音が鳴るようにしてたんだが
SDL_QUITイベントの所で処理しようとしたのが駄目だったよう.
SDL_KEYUPイベントの所で処理したならMixerライブラリ使って成功したから.
とりあえずもう一回やってみるよ.
0393login:Penguin
02/04/14 12:11ID:q7gMr4rAうーん、単音ならいいんだけど、複数音をまぜようとすると、
やはり自前で音つくらないといけないし...
効果音として、A.wav を再生中、A.wavが再発声するときは
mixせずに再生バッファクリアしてA.wav再生、B.wavが
発声するときは、再生中のA.wavにB.wavをmixするようなときって、
どうやる?
ALSA直叩きしていたときは、再生バッファの明示的なクリアや
バッファ残り量を得ることができたらから、
1 A.wav再生中のバッファ残り量をはかる
2 A.wavの残り部分とB.wavをmix
3 再生中のバッファクリア
4 mix.wavを再生
みたいにやってたんだけど、SDLだけできるかな。
やっぱり、サウンド管理用のスレッドをわけないと厳しい?
# SDL_Mixer使って、
# 同じチャンネルで発声→バッファクリア
# 別チャンネルで発声→自動mix
# で幸せ状態なんだけどね。
0394login:Penguin
02/04/17 17:26ID:AZ3pwp4sprintw()系の関数って横幅がウインドウに納まらなかったときは右端で
折り返すけど,日本語(2バイト文字と呼ぶのが正しい?)の1バイト目が
丁度右端に来たときも,何も考えずに2バイト目を次行に送って文字化け
する.なにか回避方法ってある?
printw()以外にもnewwin()で作ったウインドウが日本語に重なると
文字化けするよな…….
Laser5 Linux7.2使ってます.関係ないと思うけど…….
0395login:Penguin
02/04/17 23:34ID:Jy3zu4iaThe following EXTENDED XSI Curses
calls in support of wide (multibyte) characters are not
yet implemented:
とかかいてあるけど...
現状だと、単に2byte文字が通るだけであって、いろんな面倒は
自前でみてあげないといけなさそうだねぇ。
0396394
02/04/23 20:57ID:Gza+0AGcところで日本男児Linuxer諸兄は,コンソール指向(ってなんだ)の
プログラム組むとき,どんなライブラリ使ってるの? 教えてちょ.
できれば
・ダイアログ
・メニュー
・ボタン
とかのありがちな処理ができるライブラリがあればいいんだけど・・・
394の質問も,ダイアログを実装するためのものです・・・
0397login:Penguin
02/04/23 22:19ID:2oWGHR/ndialog系のコマンド使ってshellscriptってのはダメ?
いろいろ派生物があるみたい>dialog。
中には、日本語通るのもきっとあるだろ。
折れは、bashでread 使ったものにするか、Xdialog使うなぁ。
# ruby使ってるときも、Xdialogは便利。
0398login:Penguin
02/04/23 23:35ID:zzZ2k7Bu0399login:Penguin
02/04/24 06:41ID:xMehvO0d0400login:Penguin
02/04/24 09:52ID:VsqRyC8Y「つくれるかどうか」でいったら、「つくれる」。
でもX11の機能としては、無い。自前で実装か、ライブラリさがさないと
だめだと思う。
Etermのソースでも漁ってください。
0401login:Penguin
02/04/24 11:06ID:F5G260Dfレンダー拡張は?
0402login:Penguin
02/04/24 12:42ID:m+3baTMCcursesで改行をさせるようなプログラムって多用されてるんですか?
やるんなら事前に調整してaddstrとかaddchかな.
ダイアログ出したいっていうのはw3mみたいな事やりたいんですか?
それならw3mのmlが参考になるかも.
0403394
02/04/24 17:46ID:Y8k1KMwGC++の勉強のために実用を兼ねてコンソールのアプリを作ってみようと
思いまして.
>402 addstrって……たとえば,新規ウインドウが掛かる部分(の日本語
の2バイト目)を空白文字とかで潰しておくとか?
イメージ的には「日本語編集可能なテキストエディタで,画面のまん
中に『保存しますか? [Y/n]』みたいなダイアログを出す」ということ
を考えています.つまりどの位置に日本語が来るかは不定,と.ついで
に保存する文字/改行コードを指定するラジオボタンとかもあるといい
かなー.
あと,w3mでダイアログってありましたっけ?? [o]とかだと全画面
が切り替わってしまうので(実装的にはこのほうが楽)…….
0404394
02/04/24 18:00ID:Y8k1KMwGしこしこ書いていた……(menu.c).no mouseでコンパイルしてたので
気付かなかった(汗).
これ参考にしてみます.
0405400
02/04/24 21:08ID:ujxu+X0bたのむから、「レンダー拡張」とかいう「おれさま用語」をつかわんでくれ。
http://www.google.co.jp/search?q=%83%8C%83%93%83_%81%5B%8Ag%92%A3&hl=ja&lr=
どういう機能をいってるんだ?
0406login:Penguin
02/04/24 21:53ID:cUx0CTWkこれじゃないの!?
http://www.google.co.jp/search?hl=ja&q=render%8Ag%92%A3&lr=
0407400
02/04/24 22:30ID:ci3ObMz/あ、折れはてっきり399=401かと思ってた。
折れが「自前でどーにかしる!」っていったから、
「X Rendering Extentionでどーよ?」ってつっこんでくれたんだね。
さんくす。
# つーか、今までDRIと同じものかとおもってたよ... > RENDER拡張
# 逝ってくる...
0408400
02/04/24 23:27ID:jSngFYFKhttp://www.eax.com/render/
うーん、What is な文章は多いけど、HowToは少ないな...
0409暇潰し〜
02/04/25 00:37ID:+hViL74o* 連打測定ソフト:レンダ君
* 使い方: command time
* 10秒毎にラップタイムを表示します
* -lcursesつきでコンパイルして下さい
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/time.h>
#include <curses.h>
#include <unistd.h>
static int wait_type(void);
int main(int ac, char **av)
{
int retval;
struct timeval now = {0, 0};
struct timeval start = {0, 0};
int c, i, t, rap;
int timelimit= atoi(av[1]);
int rapt=-1;
c=i=t=rap=0;
system("xset r off"); initscr(); cbreak(); noecho();
getch();
gettimeofday(&start, NULL);
mvprintw(1,0, "数:%d", ++i);
while (t != timelimit) {
retval = wait_type();
if(retval) { getch(); mvprintw(1,0, "数:%d", ++i); }
gettimeofday(&now, NULL);
c = (now.tv_usec >= start.tv_usec) ? 0 : -1;
t = now.tv_sec - start.tv_sec + c;
if (t % 10 == 0 && rapt != t && t) {
mvprintw(t/10+2, 0, "%d:rap %d", i, i-rap); rap=i; rapt=t;
}
mvprintw(0, 0, "time:%02d", t);
refresh();
}
if (t % 10 == 0 && rapt != t) mvprintw(t/10+2, 0, "%d:rap %d", i, i-rap);
mvprintw(0, 0, "time:%02d", t);
mvprintw(t/10+4, 0, "type 'q' to quit");
refresh();
while(getch() != 'q') ;
clear(); endwin(); system("xset r on"); exit(1);
}
static int wait_type(void)
{
fd_set rfds;
struct timeval tv = {0, 1000};
FD_ZERO (&rfds);
FD_SET (0, &rfds);
return select (1, &rfds, NULL, NULL, &tv);
}
0410いきなりsegfくらいましたが
02/04/25 00:45ID:Lc1Q/pwH(;-;)
でも、単純でもおもしろかったり(笑
0411login:Penguin
02/04/25 13:09ID:N7r3K3Uc0412login:Penguin
02/04/25 14:05ID:1gvkucKX最後system("xset r on"); で終了時にonになります.
これは指の筋肉増強の為に作りました.
昔のシュウォッチみたいなもんですね.
0413login:Penguin
02/04/25 18:50ID:N7r3K3Ucあれ?cygwinだからかな?キーリピートきいてるの。。
0415VackerVT_DEFAULT_TAG_STRING
02/05/01 09:48ID:SXVBzGFf所で割き程、エロ画像を見るためのtclプログラム。なずけて
"エロエクスプローラ"と言うものを作って見た。
君達、tclもイケルゼ。
ここからダウンロードしたら、
http://cgi.din.or.jp/~behemoth/cgi-bin/img-box/img20020501094024.tar
名前をeexplorer.tar.gz にかえて、
tar -xvzf eexplorer.tar.gz
とやって、wish ero.tclだかんな。
0416login:Penguin
02/05/01 10:07ID:KFBqztXKおもろいね。
0417Vacker
02/05/02 05:49ID:t8zab81Kまずは、wishと打って、tclのインタプリタを起動しよう。
そうしたら、
text .tx0
と入力してtextウイジットを作ろうぜ。
まあ、ウイジットって言うよりはWindows的に言えばオブジェクト
って呼んでもいいな。
オブジェクトが出来たら、wishが作ったウインドウに張り付け
鳴きゃ行けないよな。そこで、
pack .tx0
とするのさ。どうだい、簡単にエヂターが作れただろ?
0418Vacker
02/05/02 05:50ID:t8zab81Kを押せば入力できるはずさ。[Ctrl]+[o]でoffになる。
この辺りはmuleとおんなじさ。
0419login:Penguin
02/05/28 13:25ID:9EabqzpYSA_SHIRQを指定した場合、同じIRQを共有するドライバは
全てSA_INTERRUPT付きか全てSA_INTERRUPT無しでないといかんと
ゆーよーな話を小耳に挟んだんですが、何かまずい事情があるんでしょうか?
メーカー製のドライバを入れたらエラーでまくりでまともに動作しなかったので
いろいろ調べてみたらSA_INTERRUPT付きと無しのドライバが混じって
同じIRQを共有していたんで。
混ぜたらrequest_irq()が失敗してもよさそうなもんなのに
しっかり成功してのも謎です(kernel 2.2.20)。
0420login:Penguin
02/05/28 14:03ID:HcFeu/kp俺もあまり詳しくはないけど、そのあたりは 2.0->2.2 で変わったyo。
SA_INTERRUPT はハンドラ走行中に割込み禁止するフラグだから、
IRQ の共有とは直接は関係ないんじゃないか?
arch/i386/kernel/irq.c あたりを読んでみればすっきりすると思われ。
0421login:Penguin
02/06/01 19:01ID:GchLRA1jたとえば「ファイル名を変更する」時に行入力を使う場合、
元のファイル名を指定できなければならないんですが……
できればLGPLがいいなぁ
0422login:Penguin
02/06/01 20:01ID:3AZ8uYf00423login:Penguin
02/06/01 22:54ID:1Mas3Mij俺はformライブラリを使った。
多分もっと良い方法もありそうだが、
そこは俺がへたれという事で…
0424421
02/06/02 01:05ID:uSBPGDj60425login:Penguin
02/06/03 20:26ID:pNev0Yh6言語は、Cです。できればLinuxだけではなくて、FreeBSDなどにも対応させたいのですが、
どうやったらいいでしょうか?
#ifdefでスイッチさせることはできるのでしょうか?
0426login:Penguin
02/06/03 23:04ID:cBxac/cnGNU のソース何でも良いから見てみ。
#ifdef 使わなくても、共通ライブラリだけで作れるコードなら
余裕でコンパイル可能。
0427login:Penguin
02/06/17 02:03ID:4QW9IVdBgetenvしようとしたけどNULL返ってくるんですけど。
0428login:Penguin
02/06/20 01:23ID:CphBQpNt0429login:Penguin
02/06/20 01:31ID:PT5TL4d2IFSは、普通は環境変数じゃなくてShell変数。
だから、あらかじめ明示的にexportしてやらないとダメじゃないかな?
0430427
02/06/20 01:41ID:CphBQpNtshell変数は参照できないんですか…
ありがとうございました。
0431login:Penguin
02/06/20 01:51ID:PT5TL4d2shell変数は、shellが個別に内部で持っている変数。
環境変数とはちがうYo!。
どうしても必要なら、export IFSしてから自作プログラムを
execするshell scriptを使えばいいと思う。
04321113
02/06/28 15:53ID:SCOUjbnn0433login:Penguin
02/06/28 22:14ID:l/6ZxngJほれ、単純だけど、ちゃんと機能するcatだ。
#include <stdio.h>
void print_usage(char *me)
{
fprintf(stderr,"Usage: %s filename\n",me);
return;
}
int main(int argc, char **argv)
{
FILE *fp;
char buf[1024];
int i;
if(argc < 2){
print_usage(argv[0]);
exit(1);
}
for(i=1;i<argc;i++){
fp = fopen(argv[i],"r");
if(fp == NULL){
perror(argv[i]);
exit(1);
}
while(fgets(buf,1024,fp)){
fputs(buf,stdout);
}
fclose(fp);
}
return 0;
}
0434login:Penguin
02/06/29 11:55ID:wHqTASTHずれなくするオナジナイやるから、おまいらも、なにかソースうぷしる!!
#!/usr/bin/env ruby
require 'jcode'
$KODE='e'
while gets do
a = $_.gsub(" "," ")
puts a.gsub("\t"," ")
end
0435login:Penguin
02/06/30 22:19ID:ljPApLVf0436login:Penguin
02/07/01 08:34ID:Rzg2qQoAdelete ip; //(;´Д`)ハァハァ
0437login:Penguin
02/07/01 13:08ID:E87x/HNo0438login:Penguin
02/07/01 15:45ID:PPG3DaVN0439login:Penguin
02/07/01 19:36ID:bBNoWQJCdelete[] ip; //(;´Д`)ハァハァ
0440login:Penguin
02/07/03 22:09ID:sv4PfTDc0441login:Penguin
02/07/03 23:31ID:8md+2mdCint *ip = new int(0);
delete[] ip;
}//(;´Д`)ハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァ
0442login:Penguin
02/07/04 01:20ID:gZhxNmSFcout<<"Jesu joy of man's desire(・∀・)"<<endl;
} while (false);
0443login:Penguin
02/07/04 02:48ID:YpwuZxrO0444login:Penguin
02/07/05 12:25ID:19Dq7F42ふつーのserialじゃだめなのか?
0445login:Penguin
02/07/05 21:03ID:AzdKDIXl>>443
どーゆーエラーが出たのか書かんと...
0446login:Penguin
02/07/05 21:26ID:WoeIQI0fインストールしないと動かないだろ。
たまに動くモジュールもあるけど。
0447OpenGLのテスト
02/07/05 21:44ID:bgFWMrqb#include <sys/time.h>
#include <stdlib.h>
#define QX 0.0 /* 球の初期位置のx座標値 */
#define QY 1.5 /* 球の初期位置のy座標値 */
#define QZ (-5.0) /* 球の初期位置のz座標値 */
#define G (-9.8) /* 重力加速度 */
#define V 25.0 /* 初速度 */
#define TSTEP 0.01 /* フレームごとの時間 */
struct timeval tv_now;
struct timeval tv_start; /* 開始時間 */
int nstep=0;
/*
* 地面を描く
*/
void myGround(double height)
{
static GLfloat ground[][4] = {
{ 0.6, 0.6, 0.6, 1.0 },
0448OpenGLのテスト
02/07/05 21:45ID:bgFWMrqb};
int i, j;
glBegin(GL_QUADS);
glNormal3d(0.0, 1.0, 0.0); /* 法線ベクトルの設定 */
/* 10x10 の床 */
for (j = -5; j < 5; j++) {
for (i = -5; i < 5; i++) {
glMaterialfv(GL_FRONT, GL_DIFFUSE, ground[(i + j) & 1]);
/* タイル描画(1つ分) */
glVertex3d((GLdouble)i, height, (GLdouble)j);
glVertex3d((GLdouble)i, height, (GLdouble)(j + 1));
glVertex3d((GLdouble)(i + 1), height, (GLdouble)(j + 1));
glVertex3d((GLdouble)(i + 1), height, (GLdouble)j);
}
}
glEnd();
}
/*
* 画面表示
0449OpenGLのテスト
02/07/05 21:46ID:bgFWMrqbvoid display(void)
{
static GLfloat white[] = { 0.8, 0.8, 0.8, 1.0 }; /* 球の色 */
static GLfloat lightpos[] = { 3.0, 4.0, 5.0, 1.0 }; /* 光源の位置 */
static double px = QX, py = QY, pz = QZ; /* 球の位置 */
/* 画面クリア */
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
/* モデルビュー変換行列の初期化 */
glLoadIdentity();
/* 光源の位置を設定 */
glLightfv(GL_LIGHT0, GL_POSITION, lightpos);
/* 視点の移動(物体の方を奥に移す)*/
glTranslated(0.0, -QY, -10.0);
/* シーンの描画 */
myGround(0.0); /* 高さは0 */
0450OpenGLのテスト
02/07/05 21:47ID:bgFWMrqbglTranslated(px, py, pz); /* px, py, pz に移動 */
glMaterialfv(GL_FRONT, GL_DIFFUSE, white);/* 拡散反射光強度の設定 */
glutSolidSphere(0.1, 16, 8); /* 球体 */
glutSwapBuffers();
pz = QZ + V*nstep*TSTEP;
printf("%f\n", pz);
}
void resize(int w, int h)
{
/* ウィンドウ全体をビューポートにする */
glViewport(0, 0, w, h);
/* 透視変換行列の指定 */
glMatrixMode(GL_PROJECTION);
/* 透視変換行列の初期化 */
glLoadIdentity();
gluPerspective(30.0, (double)w / (double)h, 1.0, 100.0);
0451OpenGLのテスト
02/07/05 21:47ID:bgFWMrqb/* モデルビュー変換行列の指定 */
glMatrixMode(GL_MODELVIEW);
}
void mouse(int button, int state, int x, int y)
{
switch (button) {
case GLUT_LEFT_BUTTON:
if (state == GLUT_UP) {
/* 時刻調査 */
for (;;) {
gettimeofday(&tv_now, NULL);
if ((tv_now.tv_sec - tv_start.tv_sec)
+ (tv_now.tv_usec - tv_start.tv_usec)/1000000
>nstep*TSTEP) {
display();
nstep++;
}
if (nstep == 500){nstep=0;break;}
}
}
break;
0452OpenGLのテスト
02/07/05 21:48ID:bgFWMrqbbreak;
}
}
void keyboard(unsigned char key, int x, int y)
{
/* ESC か q をタイプしたら終了 */
if (key == '\033' || key == 'q') {
exit(0);
}
}
void init(void)
{
/* 初期設定 */
glClearColor(1.0, 1.0, 1.0, 0.0);
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
}
0453OpenGLのテスト
02/07/05 21:48ID:bgFWMrqbint main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
glutReshapeFunc(resize);
glutMouseFunc(mouse);
glutKeyboardFunc(keyboard);
init();
glutMainLoop();
return 0;
}
0454OpenGoLua
02/07/05 21:51ID:bgFWMrqbコンパイルは
gcc -o gltest gltest.c -L/usr/X11R6/lib -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm
などとやって下さい。
0455login:Penguin
02/07/05 22:48ID:dC/skGRi0456login:Penguin
02/07/05 23:18ID:7jOR47Ou検索したところ、下の 3種類の本が見つかったのですが、
もっておられる方、書評をお聞かせいただけないでしょうか。
プログラミング Linux(アスキー)
http://www.linux.or.jp/bookreview/ProgrammingLinux.html
Linux プログラミング 例題で学ぶUNIXプログラミング環境のすべて(ソフトバンク)
http://www.linux.or.jp/bookreview/LinuxProgramming.html
例題で学ぶLinuxプログラミング GCCからRPMまでオープンソース・アプリケーション技術(ピアソン・エデュケーション)
http://www.ne.jp/asahi/yokohama/juk/LPBE/
上2つのブックレビューを見た感じでは、ソフトバンクの方が良いように思ったのですが…
できればなるべく易しいものが良いかな、と思っています。
0457login:Penguin
02/07/05 23:31ID:/Fjz3ZWL0458login:Penguin
02/07/05 23:54ID:1Jx6LzB6とりあえず、ソフトバンクので困らないと思われ。
むずかしさは...まぁ、上二つはあまり変わらん。下は持っていない。
でも、ピアソンのが新しいっちゃ新しいよね。
あとは、ぼんやりとでもいいから、何か作りたいものをイメージ
しながら読むといいと思う。
「これはあんなとこにつかえそぉ」とか、具体的に読み進められる。
>>454
お疲れ〜。でも、うちにはOpenGL環境ないんです(w
0459login:Penguin
02/07/05 23:56ID:qXJ160Nx本もいいけど、他人の書いたコードを読むのも勉強になるよ。
0460login:Penguin
02/07/06 00:20ID:LbUe5eHh御意,,と、口ばかりじゃアレなんで、454のソース読んでみたよ。
で、気づいたこと。
mouse()の中でfor(;;){ if(){break;}}使ってるけど、
do{}while();の方が、意味的にもいいよね。
あと、そもそもこれちゃんと動かんだろ?
tv_startは初期化されていないし、
(tv_now.tv_usec - tv_start.tv_usec)/1000000とかやっても、
0しか戻らないし...
0461login:Penguin
02/07/06 00:22ID:LbUe5eHhとはいえ、for(;;)のビジーループが存在するだけで許せんぞ。
0462login:Penguin
02/07/06 02:38ID:xjNRRpHFあぁ、そこらへんは適当だよ。とりあえず動くという程度のプログラムだから。
白黒のタイルに浮かんでるボールがこっちに向かってくるプログラムだよ。
0463login:Penguin
02/07/06 03:02ID:LbUe5eHhつーか、適当に書くとビジーループになるのが信じられん。
適当に書くときはusleep()使えよ。数倍楽だろ。
0464login:Penguin
02/07/06 04:00ID:llRDQuK04芯のなら大丈夫だと思うけど、2芯のだとダメくない?
0465login:Penguin
02/07/06 16:12ID:XQZfZLNG0466login:Penguin
02/07/06 19:22ID:llRDQuK0Samba経由で秀丸です
0467login:Penguin
02/07/08 03:53ID:r8k7FnUxstd::time(&t);
cout<<"date: "<<std::ctime(&t)<<endl;
0468login:Penguin
02/07/09 07:44ID:dI8y656hはぁ、鬱。
0469login:Penguin
02/07/09 08:14ID:VxwP6xXlふつーメモ帳だ
0470login:Penguin
02/07/10 23:09ID:Umbonmarこういう風に、物理シミュレーションとして
速度 += 加速度 * 時間
ってやっちゃうと、誤差が蓄積していく。
だから、あらかじめ毎回全エネルギーを計算しておいて、
毎回 全エネルギーから位置エネルギーをさっぴいて、
運動エネルギーを出して現在速度を算出、
また、位置エネルギから加速度を計算して、現在速度に
加速度*ステップ時間を加え、次の位置を計算して、
次回フレームの位置をだす。
で、新しい位置での位置エネルギーを計算して、全エネルギーから
さっぴいて運動エネルギーを...
ってやれば、一応発散も収束もしない定常的な運動が実現できるはず。
0471login:Penguin
02/07/10 23:24ID:wVIFNohY0472login:Penguin
02/07/10 23:30ID:Umbonmar0473login:Penguin
02/07/10 23:39ID:RWp71i45こないだあるツールを最初シェルスクリプトで書いたですよ。
sed を百回くらい呼び出すお化けになったですよ。死ぬ程遅い。
次に妥協して bash 固有機能を使ったら 10 倍くらい改善した。
それを perl で書き直したら更に 5 倍速くなったよ。
しかも断然書きやすい。すごくよみにくいけど。
0474login:Penguin
02/07/10 23:48ID:Umbonmarちなみに、
http://pc.2ch.net/test/read.cgi/linux/1025048946/96-103
だと、常に重力加速度がモロに働いている状況だから、
運動エネルギーはずーっと増大する一方です。
/* 根本的に、力と加速度/速度の関係がおかしぃように見える... */
0475ばねばね
02/07/11 03:45ID:bhGnPQRzエネルギーが保存されてる状態ならそれで行けるかな。
エネルギーが時間の関数でエネルギー自体を差分で求めていく事になると
やっぱり速度を求める時に誤差が出そうな気が。。
まだ組んだ訳では無いので何とも言えませんが。
さっき改めてsodaplayやってみたら、
○ばねの振動は減衰する(現実に則してる)
○地面のはねかえり係数は1未満(上に同じ)
○筋肉の存在(減衰の無いばね?)(生物チックな動きの元)
と言うことが分かりました。ますますややこしい。。
とりあえず簡単な質点の運動から考えてみます。(ばね系はちょっと後回しで)
0476ばねばね
02/07/12 03:22ID:pljjbWtA{
static struct timeval oldt = {-1, -1}; /* old time */
static struct timeval nowt; /* new time */
int i;
glClear(GL_COLOR_BUFFER_BIT);
glColor3d(0.0, 0.0, 1.0);
switch (g_Mode.mode) { /* ステータス表示 */
case SIMULATE: sd_mvAddStr(5, 30, "mode:SIMULATE"); break;
case CONSTRUCT: sd_mvAddStr(5, 30, "mode:CONSTRUCT"); break;
default: sd_mvAddStr(5, 30, "mode:"); break;
}
if (g_Mode.mode == SIMULATE) { /* シミュレーションモード */
if (oldt.tv_sec == -1) {
gettimeofday(&oldt, NULL);
for (i=0; i< g_nmass; i++)
g_Masslist[i].a[1] = -G;
} else {
gettimeofday(&nowt, NULL);
if (sub_timeval(nowt, oldt) > STEP_TIME) {
for (i=0; i< g_nmass; i++) {
if (g_Masslist[i].x[1]<0 && g_Masslist[i].v[1]<0)
g_Masslist[i].v[1] = -g_Masslist[i].v[1]*e;
else {
g_Masslist[i].x[1] += g_Masslist[i].v[1]*STEP_TIME;
g_Masslist[i].v[1] += g_Masslist[i].a[1]*STEP_TIME;
}
}
oldt=nowt;
}
}
}
if (g_Mode.mode == CONSTRUCT) oldt.tv_sec = -1; /* initialize old time */
if (g_nmass > 1) { /* 記録したデータで線を描く */
glColor3d(0.0, 0.0, 0.0);
for (i=0; i< g_nmass; i++)
sd_mvDispTrianglePoint(g_Masslist[i].x[0], g_Masslist[i].x[1]);
glBegin(GL_LINES);
glEnd();
}
glutSwapBuffers();
}
0477ばねばね
02/07/12 03:24ID:pljjbWtA次は筋肉でもやろ。
0478login:Penguin
02/07/12 12:03ID:8M4txI+90479login:Penguin
02/07/13 01:33ID:V6lw6K5b1) アイ・オー・コントロール
2) アイ・オー・コトル
3) アイ・オー・コトロ
4) アイ・オー・クツル
0480login:Penguin
02/07/13 01:36ID:ZQfsDMJ40481login:Penguin
02/07/13 03:49ID:Y17UaqG90482ちょっちやってみた
02/07/13 04:16ID:4FQ5CT5Qう〜ん。Cじゃ駄目?
0483login:Penguin
02/07/13 04:17ID:4FQ5CT5Q0484login:Penguin
02/07/13 04:49ID:Y17UaqG9昨日買った独習Perlはあんまり読んでないです。
0485login:Penguin
02/07/13 05:13ID:Y17UaqG90486login:Penguin
02/07/13 07:05ID:4FQ5CT5Qプログラムのインストが楽なのが良いよ。いちいちコンパイルするの
面倒でしょ?
0487login:Penguin
02/07/13 12:36ID:y/FpJvxQ0488login:Penguin
02/07/13 13:02ID:VEG3EIVtほっとけ。多分486はプログラム言語・環境を自分でインストールする必要が
ないディストリビューションのことを言ってるんだろ。
コンパイルしないですむプログラムってPerlとかsed,awkをちょろって使うことを
想像するよな。普通ソース書いて、コンパイルしてプログラムを作って、実行する
のが当たり前なんだが。
そういうことも書けない 486 はDQNってことで。
0489login:Penguin
02/07/13 16:18ID:JPP/8GD4486系がDQN?(´・ω・`)
0490login:Penguin
02/07/13 18:46ID:Ml46bmEz環境依存部分とOS依存部分とマシン依存部分
どこまでどうやってわけてるのか興味津々。
DelphiとKylixだとそのあたりで手を抜けそうだけど
ふつーのCだと線引きが面倒っつーか、いまいち
知識と経験が足りなくって・・・。
0491login:Penguin
02/07/13 19:22ID:iuPaBagYintelはいや〜。
0492login:Penguin
02/07/13 22:39ID:KT9e5gI7Xで画像を表示するときはXPutImage(XShmPutImage)を
つかうと思う(ここですでに間違っていたりして...)
んで、そのためにはXImage構造体に表示する内容を格納しなきゃ
いけないわけだけど、これをXPutPixelなんかでやっていたらむちゃ
時間かかる。
そこでXImage構造体に直接値を代入しているわけだけど、そんなこと
すると、Xの色数とか、ビットエンディアンなんかに気をつかわないと
いけない...
なんか、正攻法で速い方法って、ないっすか?
(用途としては、メモリ上の画像を表示するとか。さらにそれを
なめらかにフェードイン、フェードアウトするとか。)
さらにいうと、フェードイン、フェードアウトするためにXAllocColorをすると
これもしゃれにならないくらい時間がかかる(256色で0.5秒くらい)
0493login:Penguin
02/07/14 01:12ID:utN6QrPLLinux使いなんだから当然プログラミングしてるよね??
0494login:Penguin
02/07/14 01:53ID:0gmQZYJ9いえるかもしれんが
Linux使い→当然プログラミングしている は
成り立たないと思われ。
0495login:Penguin
02/07/14 02:48ID:R8XUXxiqXF86のDGA extentionとか、そっち方面かな?
Xlibいじるのが目的じゃなくて、何も考えずに
フェードイン/アウトとかやりたいっていうのなら、
SDLあたり使う方が楽だよ。多分。
0496500
02/07/14 03:55ID:0+95ASAZ0497login:Penguin
02/07/14 09:20ID:SNv7+3Vhもちろん
0498492
02/07/14 09:27ID:AysUSjKQそれも考えたが
XFree86でないXサーバとかでも使えるように、とか考え出すと
ふつうのXだけで動くようには、しておきたい...
(ゲームとかでなく、凝った画面表示はおまけのプログラムなので)
SDLって、どれくらい使われているのかな
(Linux以外を含めて)
0499login:Penguin
02/07/14 09:43ID:E/smBifZQtはいかが?
0500login:Penguin
02/07/14 09:49ID:w9MjeXdq0501login:Penguin
02/07/14 10:34ID:Ls0TW+0x3.xとかはまともに使えるのかな。
インストール出来なかったんでほっぽってありますが。
2.95とかでstringのat()使おうとしたら、そんな関数ねぇとか言われた
0502login:Penguin
02/07/14 12:58ID:BTJFLzrSよくわかんないけど、Imagemagickとかの実装が参考にならないかな?
# あれも遅いけど、内部データ形式が富豪すぎるせいもあるし...
0504login:Penguin
02/07/14 16:46ID:/8pWf2te0505login:Penguin
02/07/14 16:51ID:Yx/MjdL4定規使用禁止
0506login:Penguin
02/07/14 23:30ID:/7djVYWzえ〜!(w
0507login:Penguin
02/07/14 23:57ID:Yx/MjdL4mkstemp をつかうけど、これだと
拡張子が指定できないよね?
/hoge/piyo/hogeXXXXXX.log という感じの
ユニークなファイル名を作りたい時には
どうすればいいのかな?
0508login:Penguin
02/07/15 00:00ID:xQavEYMChogeXXXXXX を作った後 rename すればいい。
0509login:Penguin
02/07/15 00:03ID:fl5PziU0(゚∀゚)その手があったか
0510login:Penguin
02/07/15 00:42ID:8uxB0aKC私もg++2.95でstd::string::at()が使えないのはどうかと思ったが、
3.xならちゃんと使えるよ。
0511login:Penguin
02/07/15 00:55ID:zxugWZF3俺の使えてるみたいだけど・・・
ちょっとテストしてこよっ
0512510
02/07/15 01:01ID:8uxB0aKCコンパイラというかライブラリの問題のような…。
0513login:Penguin
02/07/15 01:48ID:xQavEYMCごめん。アルコールが抜けるとその手は駄目だとわかった。
rename の変名先が既に存在していたら...
0514login:Penguin
02/07/15 02:03ID:J8mIaEezfstat()かけてからじゃダメなの?
0515login:Penguin
02/07/15 02:24ID:EGpsN33Jfstatとrenameの間にその名前のファイルが作られる可能性がある。
0516login:Penguin
02/07/15 14:30ID:0oQu5eSdワラタ
0517login:Penguin
02/07/15 23:55ID:swMOJJO9次善の策として、ファイルを作成するとき(renameでなく、
あらかじめファイル名を求めておいて)O_EXCLモードでオープン
するというのは?
ファイル名を作成してから実際にファイルをつくられるまでに
ファイルがつくられる可能性はかわらないが、その場合はファイルオープンに
失敗して発見はできる。
しかし、こんな用途に使える関数が...
manをみると、テンポラリファイル作成には
mkstempを使えとあるし、しかしそのmkstempはどれくらいの
プラットフォームで使えるのだろうか...(BSD 4.3としか記述がなかったが
個人的にはなるべくPOSIXにはいっている関数で組んでおきたい)
0518login:Penguin
02/07/16 00:58ID:hmm5jBHRそんな事態がどれほどあるかと小一次完...
1 まず、hogeXXXXを作る
2 hogeXXX.logをrwで開き
3 fstatで確認後
4 flockをして
5 hogeXXXからhogeXXX.logへデータを移す
とか考えたけど、>>517が正解だねぇ。
int fd;
char tmpfname[1024];
int rnd;
srand(time(NULL);
do{
rnd = rand()/10000;
sprintf(tmpfname,"/tmp/hoge%4d.log",rnd);
fd = open(tmpfname, O_WRONLY|O_CREAT| O_EXCL);
}while(fd<0);
でどーよ?
0519507
02/07/16 02:34ID:KYuQ4RbTmanを読むと、そういう生成方法はなんかセキュリティ上
問題があるとかなんとかあった気がしたので
その方法は避けてましたが、冷静に考えてみたら
自分が必要としてる用途ではセキュも糞もなかったので
その方法採用しますた。
0520login:Penguin
02/07/20 18:20ID:vJNkwLNH簡単に扱うためのCのライブラリとかってありますか?
Winだと hoge.ini を扱うライブラリって言語とわず
結構見かけるじゃないですか。
それとも、普通は hoge.conf に実行属性付けておいて
実行して環境変数への代入しておいて、アプリケーション内からは
環境変数を取り出す、などというのが一般的?
0521520
02/07/20 18:21ID:vJNkwLNH0522login:Penguin
02/07/20 18:36ID:ybTf4BtKmkstemp()が無ければBSDあたりから持ってくればいい。
ちなみに、FreeBSDのmkstemp()はO_EXCLでオープンして失敗したら
別の名前でやり直す実装だったから、方法としてはO_EXCLで正解と
思われ。
0523login:Penguin
02/07/20 19:14ID:+e4Ywsmz0524login:Penguin
02/07/20 23:50ID:r/nNTTXOごめん、しらない。
でも、環境変数レベルでどうにかなる問題だったら、
実体をshellscriptからexecするようにしておいて、
shellscript内で設定ファイルをsourceするってのも手だよね。
0525login:Penguin
02/07/21 00:00ID:ZAjMssmnパーサーがあるかと言うことならlibxmlやguileを使えば良いかと。
設定ファイルなんて仕様がバラバラだから汎用性のある物と言うならば結局上記の様な
物になるのでは?
自分でライブラリ作っても良いけど。
環境変数程度の物ならregex使ってパースしてハッシュテーブルにでも入れれば大抵
の用途では事足りると思う。
0526520
02/07/21 00:08ID:NmOGkAVi# コメント
変数=内容
って感じだと思います。(例外いっぱいあるけど気にしない)
というわけで、やっぱ環境変数から取得するという形にしよう思います。
これならある程度汎用的になるし、アプリの作り方次第ですが
設定ファイルを弄ることなく実験的に設定を動的変化させたりってのも
できたりできなかったりするかも
0527login:Penguin
02/07/21 01:04ID:dTOBAnJx> 物になるのでは?
逆に、適切な規模の汎用的なライブラリがあったら、
/etc/以下もすっきりできるかもねぇ。
いろんなアプリで使われるものに、Xのリソースファイルが
あるけど....うーん。
0528login:Penguin
02/07/21 12:21ID:j/gCmqS2前どっかのスレで同じような質問を見かけたな。
確か vector にそんなライブラリがあったような。
0529login:Penguin
02/07/27 15:22ID:hfg9O99egoogleで検索してもあんまり情報無いんですよ。
もしあれば何処にあるか教えてください。
0530login:Penguin
02/07/27 21:09ID:r2Y9+6KLC マガのバックナンバーとか。あんま詳しくなかったけど。
ttp://www.cmagazine.jp/contents/200111.html
0531login:Penguin
02/07/28 01:27ID:/TjeW2Inデバイスドライバの中から他のデバイスを叩いたりって
あんまりやっちゃいけないことなんでしょうか?
0532login:Penguin
02/07/28 01:50ID:rgRPFAhB>デバイスドライバの中から他のデバイスを叩いたりって
>あんまりやっちゃいけないことなんでしょうか?
いまいち、何がやりたいかわからないんだけど、
ディバドラ自体分割しといて、アプリ側で複数のディバイスを
開いて...ってんじゃ、解決しないの?
0533名無しさん@Emacs
02/07/30 14:26ID:mNZP0XfN趙遲レスだが有り難う。
0534login:Penguin
02/08/19 02:03ID:DTCyhgpP| |
| |
∧_∧ | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´Д`)//< 先生! http://www.linuxassembly.orgって
/ / \ 既に日本語版のサイトありますか?
/ /| / \__________________
__| | .| |
\  ̄ ̄ ̄ ̄ ̄ ̄ ̄\
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ヤクスノツカレターヨ・・・・
.|| ||
0535login:Penguin
02/08/19 13:20ID:1KCofkxZんで実際のコード読んで勉強したいんだけど、
小規模で比較的理解しやすいパッケージ(?)をいくつか教えてください。
出来ればdeb-srcで簡単にとってこれる( debパッケージなやつ)おながいします。
0536login:Penguin
02/08/19 13:24ID:eD5yxJRSapt-get source hello
0537login:Penguin
02/08/19 13:26ID:SYrEFqYishellutils とか fileutils とかの小粒のツール群がいいのでは?
ed のソースとかもよさげだ。
0538login:Penguin
02/08/19 14:13ID:H68Oku5X多分ないと思う。
うpきぼん。
0539login:Penguin
02/08/19 14:48ID:ovWBqoYB0540login:Penguin
02/08/19 15:13ID:p8153rqDread中にパリティエラーを検出したとき、
ユーザはエラーの発生をどうやって知るのでしょうか?
0541login:Penguin
02/08/19 18:03ID:jyYsRY2hread がエラーで返るだろ。そういうふうに設定すれば。
「詳解 UNIX プログラミング環境」でも読んでくれ。あと、これとかhttp://www.linux.or.jp/JF/JFdocs/Serial-Programming-HOWTO.html
これとか、http://www.easysw.com/~mike/serial/serial.html
ここで説明出来るほど簡単じゃないよ。
0542login:Penguin
02/08/19 19:42ID:F5ATUKjR0543login:Penguin
02/08/19 19:51ID:jyYsRY2h0544login:Penguin
02/08/19 20:00ID:jyYsRY2h0545login:Penguin
02/08/19 20:47ID:QyU1EEtg始めネタだと思ったけど、検索したらマジで存在した。。。
0546login:Penguin
02/08/19 23:47ID:Uol61iq9これな。
http://packages.debian.org/hello
0547login:Penguin
02/08/19 23:48ID:Uol61iq9http://www.gnu.org/software/hello/hello.html
0548login:Penguin
02/09/16 02:11ID:nBHpwc4gnamespace { const double conservation; }
cout<<std::sin(conservation)<<endl;
0549login:Penguin
02/09/16 02:24ID:UuCJXysR#include <cmath>
namespace { const double conservation; }
cout<<std::sin(conservation)<<endl;
~$ g++ a.C
a.C:2: uninitialized const `{anonymous}::conservation'
a.C:3: syntax error before `<'
~$
0550けっ
02/09/17 01:56ID:dQYhPsY7#include <cmath>
namespace { const double manko = -1; }
int main(){ std::cout<<std::sqrt(manko)<<std::endl; }
0551けっ
02/09/17 01:57ID:dQYhPsY70552login:Penguin
02/09/21 22:40ID:uw0MlWRhもちろんC言語!!
0553login:Penguin
02/09/22 01:11ID:VNXJ0Bg20554login:Penguin
02/09/26 16:59ID:1HbHU/pc0555login:Penguin
02/09/26 21:03ID:oesXnOKB ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0556login:Penguin
02/11/05 15:48ID:dqOpkjhO誰かたすけて...
0557login:Penguin
02/11/06 15:10ID:pzGtsriT0558login:Penguin
02/11/09 13:14ID:DzefQovG( ・∀・)<ageて保守だからな
( ) \____________
| | |
(__)_)
0559login:Penguin
02/11/09 16:23ID:iBCV32CUhttp://pc.2ch.net/kakolog.html
0560login:Penguin
02/11/09 18:18ID:QawdyZfx>pcサーバは 600超えたら 500スレッドに圧縮実施中。。。
ってそういう意味なの?
0561login:Penguin
02/11/09 18:33ID:iBCV32CUたしかLinux板は前回9月半ばに圧縮されました。
0562login:Penguin
02/11/09 20:52ID:tuOANnkA書かなくても sendip をコンパイルすればいい。
0563Vacker
02/12/05 02:41ID:Z7wMsMwzまぁそれはそれとして、今日はPHPな奴にボブを紹介しよう。
http://www.kochinet.info/tech/php/index.html
0564login:Penguin
02/12/05 11:38ID:bTCOh50g0565login:Penguin
02/12/05 13:14ID:KaDgaoUr0566Ahow
02/12/09 07:30ID:1t8m8tVH以下は冬休みの宿題とする。熟読しておく予ーに。
http://homepage2.nifty.com/kaz1-iwata/index.htm
0567login:Penguin
02/12/24 13:06ID:4Ul6DjfPはありますか?
0568login:Penguin
02/12/24 13:12ID:90NycLOkPerlどぞー
0569login:Penguin
02/12/24 13:31ID:HeDNDRBb今はrubyっしょ。
0570567
02/12/24 13:43ID:4Ul6DjfPGUIが要らない場合→Perl
GUIが要る場合→VB
なんです。
0571login:Penguin
02/12/24 13:46ID:dNc5Qp1lKylixとかかなぁ
0572567
02/12/24 14:02ID:4Ul6DjfPありがとうございました。
0573Vacker
02/12/31 01:51ID:6qGhqv72http://www.tv-tokyo.co.jp/oh-mikey/
0574Vacker
03/01/01 03:51ID:RloUA5wCそれはだな、フカキョンの掲示板にファンとして書き込んだら管理人が俺の
書き込みを消やがったからさ。なんで俺の素直な書き込みを消すんだよ!
変なのは名前だけだ炉!もっと素直になれ!
・・・まぁ、まったりしている掲示板で俺だけが浮いていたのは、正直本当の事
なんだがな。
0575login:Penguin
03/01/01 11:51ID:Ak2se5Qhこれですな。
UNIXプログラミング質問すれ
http://pc3.2ch.net/test/read.cgi/tech/992057422/269-
んでVectorのはここですわ。
http://www.vector.co.jp/soft/unix/prog/se099824.html
0576IP記録実験
03/01/08 21:55ID:q1tJvw6Rhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0577login:Penguin
03/01/09 01:32ID:7O52KTcr一人釣れたようだぜにょろゆき
0578IP記録実験
03/01/09 02:15ID:XQIV3he6http://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0579login:Penguin
03/01/09 02:16ID:OELvwRgEでもね。完全匿名のめりっともあるんだよね。
そーいう掲示板も作りたいね♪MaMasにでも。
0580login:Penguin
03/01/09 02:42ID:L6xgACMiってゆってたのにー
プンスカ!!
0581login:Penguin
03/01/09 03:24ID:A47yaYa8スクリプト厨uzeeeeeeeeeeeeeeeee
0582教えて
03/01/09 16:18ID:LZhQAcDf分かる人いますかー?JAVAで求めるらしいんだけどね・・・。
0583login:Penguin
03/01/09 16:33ID:485aUWY40584教えて
03/01/09 16:40ID:LZhQAcDf0585login:Penguin
03/01/09 16:47ID:jegKH0NWプログラム板へ。
0586login:Penguin
03/01/09 17:24ID:HmKXUvWZ0587login:Penguin
03/01/14 05:28ID:lhwtAt7Pラモー氏の話面白かったです。
0588山崎渉
03/01/15 11:27ID:1ScAb3I50589login:Penguin
03/01/16 14:26ID:SkKe5fwDどうやって求めましたか?
0590login:Penguin
03/01/16 14:47ID:hM036Vp6#define A 26408023
int main(){
int i=2, b=0;
while(A%i) i++;
printf("(a,b)=(%d,%d)",i ,A/i );
return 0;
}
これCやからJAVAに書き直せば。
0591login:Penguin
03/01/16 15:07ID:SkKe5fwD本当にすいません。
分かればおしえてくれませんか?
0592login:Penguin
03/01/16 15:11ID:Ep8xaKJi小学何年生れすか?
0593login:Penguin
03/01/16 15:12ID:hM036Vp60594login:Penguin
03/01/16 15:16ID:SkKe5fwDすいません・・・。
でも分からないので・・・。
0595login:Penguin
03/01/16 17:35ID:feJsTFoRえっと、「自分で宿題を考える気がないからおまえらやれ!!」
ってことでおっけーですか?
0596login:Penguin
03/01/16 17:42ID:WUJffFZO0597login:Penguin
03/01/16 17:49ID:Ep8xaKJiとりあえず実年齢だけでも教えてくれ。
今の学生がどんな感じなのか知りたいので。
0598login:Penguin
03/01/16 19:35ID:NatKqxcj0599login:Penguin
03/01/16 19:45ID:E2QXycXN26408023: 3457 7639
0600599
03/01/16 19:47ID:E2QXycXN0601login:Penguin
03/02/01 02:24ID:QsU/uBurKDevelopってつかってる人いますか?
Visual C++ににてるんでとっつきやすいかな?って思ってるんですが
ネットでの情報がかなり少なそうなので苦労しそうかな。。
0602login:Penguin
03/02/02 03:06ID:30w/+xfvTabでインデントしてると、ソース中で、マウスでクリックした位置と
実際のソースがずれるのですが、
どうすれば修正できるのでしょう?
0603login:Penguin
03/02/13 01:23ID:ndENOYtJ想像以上に閑散としてるな〜〜
今、サウンド関係をプログラミングしてるんだけど、
誰か今のLinuxのサウンド関連のトレンド状況を把握
してる人居ないかな?
ALSAの組み込みや、音を垂れ流すだけならいいんだけど、
音を出したり止めたり重ねたりを自由に制御するには
何を使えばいいんだ?
EsounDとかで重ねられそうなんだが、今度は単音を
途中で止めたりの制御が・・・
まさかそっから先は、未だに全部自分で作るしか無い
状況なんか?
ググッても、殆ど情報がひっかからず、EsounDの本家
サイトは2000年で時が止まってるし、一体今のバージョン
は誰が管理してアップグレードしてるんだ?
時代はもうEsounD使わない方向なんか?
今のLinuxのサウンドを牛耳っている主流が何なのか
知りたい・・・情報求む。
0604login:Penguin
03/02/13 01:24ID:ndENOYtJ0605login:Penguin
03/02/13 05:51ID:He2RUuWo音の重ね合わせってそれ出来んの?DirectSoundとかの様に?
0606login:Penguin
03/02/13 05:58ID:He2RUuWoショタハケーン
0607login:Penguin
03/02/14 12:47ID:2/eMaFxIEsounD (Gnome用サウンドデーモン) ならできます。
直接サウンドデバイスに音を送らずに、こいつに送ってやると、
こいつが複数の入力を合成して、サウンドデバイスに送って
くれるという仕組みです。
でも、EsounDの仕様が、一度ウェーブデータを送ってしまうと
途中で再生を止められないみたいなんですよ。
これだと、ゲームのナレーションみたいな音の出し方をしたい
場合、途中で飛ばすとかができない。
そして、なぜか、本家サイトの開発が2000年ぐらいから殆ど
進んでない。
とはいえ、世の中には新しいバージョンも配布されているようで
一体どこの誰がメンテナンスしてるのか ・・・
そして、その新バージョンのドキュメントを見ても本家サイトの
URLをミロ ・・・ みたいな事になってる。
(でも、機能はあまり変わってない。バグフィックス中心か?)
他の分野では凄まじい勢いで開発の進んでるLinuxだが、
どうもマルチメディア系は開発が細々としか進んでない感じがする。
一体どこへ向かおうとしているのだろう ・・・
ちょっとした仕事で、Linuxでビデオと音声を扱う事になったの
だが、他の分野と比べて、情報量が圧倒的に少ないのにちょっと
まいっている所。ま、今回はたいしたアプリケーションでないから
なんとかなりそうではあるが ・・・
0608login: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に比べると重いのが難点。
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(゚∀゚)サンクスコ
0721login:Penguin
03/07/23 19:18ID:cPeNPJaK「いいの」といってるだろ。
>>720
諦めてvi, emacsに慣れるかcuiアプリならsamba経由でvcで開発デバッグするのも有り。
C/C++でVC並に使いやすいIDEはないよ。
つかKylix Open Editionじゃ駄目なのか?
0722login:Penguin
03/07/23 19:44ID:CrZUc/cgこれから良くなるんでないの?
0723718
03/07/23 23:01ID:qGKxaJYNそれぞれ見てみましたが一長一短って感じですね。
取りあえず将来性も考えWideStudio使ってみようかとおもいます。
Kylix Open Editionも良いけどGPLソフトしか作れないってのはきっついなー。
0724login:Penguin
03/07/24 10:51ID:fOKry8Mc> フリーの統合開発環境でいいのないすか?
> どうもviじゃいまいちだし。
> できればVC++みたくで日本語環境で使える奴。
> キリクス高杉
VC++使えばいいじゃん。もう(買って)持ってるんだろ?
今更フリーにはしるこたぁねえよ
0725707
03/07/24 23:23ID:m74KDjKB漏れはWindows用のゲームのサーバとしてLinuxでプログラム組んでるが、
Windows上でLinuxと同じ動作をするぷプログラムをまず組んで、
あらかたバグがとれたらLinuxへ移植。もっと効率のいい方法無いかな?
0726login:Penguin
03/07/25 02:14ID:V77hoGnP開発効率が良ければいいんじゃないかな
開発環境ってもただの道具だし、
手に馴染んだものを使うのが
結局一番いいということもあるし。
0727login:Penguin
03/07/25 11:23ID:azZp68HE最近真面目に勉強始めたんですが・・・
Cでプログラム作って、中の動作を一部シェルやコマンドに任せたりなんてどーやってやるんですか?
徹頭徹尾、CならC、シェルならシェルで書かないとイカンですか?
0728login:Penguin
03/07/25 11:30ID:29zDwjlusystem, exec, fork
を参考にしてください。
0729login:Penguin
03/07/25 11:30ID:29zDwjlu0730login:Penguin
03/07/25 12:07ID:azZp68HEありがとうございます
0731login:Penguin
03/07/26 04:56ID:aiFKdJLY0732login:Penguin
03/07/26 05:17ID:J0HMlTl0"統合環境"だろ。"開発"は余計。
0733login:Penguin
03/07/27 07:01ID:6YULTMa40734login:Penguin
03/07/27 14:59ID:dGC6KQ/nこのスレでの発言であればあってるから問題ない
他のスレで「開発」なんて付けて呼んだらイカンけどな。
0735login:Penguin
03/07/28 12:55ID:YIr5Dzm40736login:Penguin
03/07/28 18:40ID:Fse58Rnuスレ名:Linuxプログラミング
板 名:Linux@2ちゃんねる
投稿者:
メール:sage
投稿日:2003/07/28 18:38:34
本 文:
emacsって、CUI環境で日本語入力できる?
オレRedhat8.0とTurboLinux使ってみたんだけど、
両方とも起動直後のコンソールではshift+spaceでFepが立ち上がらん。
x-window上でktermを起動させて、その上でemacsを起動させればFEPも使えるんだけど、
重い・・・。
0737login:Penguin
03/07/28 18:41ID:Fse58Rnu0738login:Penguin
03/07/28 19:40ID:3aOZaK5v0739login:Penguin
03/07/29 01:10ID:Ft2LMD2u激しくスレ違いだが一応答えておく・・・
emacsのFEP(IME)は、CTRL+o もしくは、 CTRL+\ です。
キーバインドの設定によって変わってますが、大抵はどちらか。
# emacsが起動するホストでcannaやwnnやATOKなどが起動している必要がある
0740login:Penguin
03/07/30 17:45ID:yKm3BaiUgrepしたら
unistd.h:#define STDIN_FILENO 0
と出たんだけど、これ使っていいの?
0741login:Penguin
03/07/30 17:55ID:Gdoqv3Kj0742login:Penguin
03/07/31 03:19ID:k0B+t1iH0743727
03/08/01 11:58ID:FcJoCnjbCの中でコマンドを使うにはsystemなどを、というコトでしたが、
例えばprintf系のように%dとか%sとかって使うコトは出来るのでしょうか?
systemは実際駄目でしたが。
0744login:Penguin
03/08/01 12:05ID:YzTLfBOMそのためのsprintf
全然Linux固有の話じゃないな。
あと、外部の入力をsystemに食わせる時はちゃんとチェックしとけよ。
穴になるぞ。
0745login:Penguin
03/08/01 13:22ID:3Dz1soT0そういう関数は無いから自前で作る。たとえば
int systemf(char* fmt, ...) {
va_list vl;
char buf[4096]; // 長さは適当。
va_start(vl, fmt);
vsprintf(buf, fmt, vl);
va_end(vl);
return system(buf);
}
もちろん穴には気をつけてね。
0746hidehiro
03/08/01 15:25ID:FaQAPlZwコマンドプロンプトからコマンドを実行した時に
標準出力へ出力される文字数を取得する環境変数
かなにかはあるのでしょうか?
0747login:Penguin
03/08/01 15:29ID:3Dz1soT0何がしたいの??
なんか
ls | wc -c
とかいうことじゃないよな?
0748ぼるじょあ ◆yBEncckFOU
03/08/02 04:56ID:GfRe8vK7ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0749login:Penguin
03/08/02 10:14ID:2rmp9gin0750login:Penguin
03/08/03 20:31ID:q7iiqNK4ターミナルの横幅では?
0751login:Penguin
03/08/04 03:03ID:e3p0qvvk0752login:Penguin
03/08/08 11:52ID:mg5o8ebS0753login:Penguin
03/08/09 08:18ID:23zZMeDy0754login:Penguin
03/08/12 11:33ID:4MGXav2e0755login:Penguin
03/08/14 00:36ID:qFFLWU8RIPアドレスから名前に変換するとき、今一番トレンディな方法は
いったいなんでしょうか? getnameinfo を使うのがベストなの?
0756login:Penguin
03/08/14 02:26ID:gJhrJeKXgethostbyaddr
かな。
$ man gethostbyaddr
で関連関数が出てくるよ
0757login:Penguin
03/08/14 19:00ID:qFFLWU8R動作中、ずっとlisten()してるソケットを作りました。
このプログラムが動作中は問題ないんですが
Ctrl+C等で不用意に止めて、もう一度動かすと
bindでエラー(EADDRINUSE :Address already in use)
となって待ち受け出来なくなります。
このときnetstatでポートを見ると TIME_WAIT とあるので
そのポートが自然に消滅するのを待てばいいのですが
こんなことをしなくても強制的に再利用したいのですが
どうしたらいいでしょうか?
setsockoptでなんか適当に設定するの?SO_REUSEADDR?
0758login:Penguin
03/08/14 20:03ID:imXzk7paそうそれ。
0759login:Penguin
03/08/14 20:54ID:OZhN5Fs90760login:Penguin
03/08/14 20:56ID:imXzk7pasignalで処理しても
> このときnetstatでポートを見ると TIME_WAIT とあるので
この状態は防げない。
0761login:Penguin
03/08/14 23:57ID:EZZe4dzOint flag = 1;
setsockopt(fdsocket, SOL_SOCKET, SO_REUSEADDR, &flag, sizeof(flag));
fdsocketはsocket関数で取得したsocket descriptor。
0762login:Penguin
03/08/15 15:07ID:VuCLTiPS(゚∀゚)サンクスコ
うまく動かんなーと思ってたらflag=1を忘れてたぜエヘヘ
0763山崎 渉
03/08/15 22:20ID:dil3w4kp│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0764login:Penguin
03/08/16 00:11ID:5i+gfiwt0765login:Penguin
03/08/18 01:17ID:xPxKgdATchar buf[256];
getaddrinfo( "hostname", 0,0, &hoge );
inet_ntop( AF_INET, &info->ai_addr, buf, 256);
printf( "%s\n", buf );
こンな感じで名前からIPを引きたいンだけど、うまく動かない。
inet_ntopの使い方、どッか間違ッてる?
0766login:Penguin
03/08/18 01:21ID:wDvg6Ni/printf("%d.%d.%d.%d\n", buf[0], buf[1], buf[2], buf[3]);
じゃないのか?
0767766
03/08/18 01:48ID:wDvg6Ni/0768766
03/08/18 02:08ID:wDvg6Ni/struct addrinfo *ai;
struct sockaddr_in *sin;
char buf[INET_ADDRSTRLEN];
getaddrinfo("hostname", 0, 0, &ai);
sin = (sockaddr_in*)ai->ai_addr;
inet_ntop(AF_INET, &sin->sin_addr, buf, INET_ADDRSTRLEN);
printf("%s\n", buf);
こうしないとだめっぽい。
addrinfoのメンバーai_addrをsockaddr_inにキャストしてメンバーsin_addrをinet_ntopに渡す
0769login:Penguin
03/08/18 02:50ID:X8KH6Enzちなみに、終了時には
freeaddrinfo(ai);
を処理するべきかな。
0770766
03/08/18 03:06ID:wDvg6Ni/一回しか実行しないなら、別にやらなくて良いよ。
何度もgetaddrinfoのコールを繰り返す可能性を考えるなら、
freeaddrinfoを処理することを考慮すべき。
解る人には解る言い方だと、
シングルトンなものの場合は、わざわざfreeせんでよろしい。
0771login:Penguin
03/08/19 03:35ID:LWYDhLjX(゚∀゚)サンクスコ
やっぱヘッダをちゃんと見なきゃダメだね〜
構造体の宣言が、何がどこにあるのか って
みんなどうやって調べてる?
地道に /usr/include をgrepしてる?
なんていうか、構造体の宣言と、それを使っているところと、
ごっちゃになっちゃって調べるのがすごく大変じゃない?
どう?
0772login:Penguin
03/08/19 04:17ID:v6fEt28y漏れは大抵manをみるが。。grepしてみるときもあるけど、別に地道でもないだろ?
grep -r sockaddr_in /usr/include って地道か・・・?
0773login:Penguin
03/08/20 16:14ID:0pNGqgqPなんででしょう?
関数呼び出し回数だけじゃどこに負荷がかかってるかわかんない。
もしかして fork()の子はで処理時間が計測されないとか?
0774login:Penguin
03/08/25 13:01ID:q192lGDpじゃない? さもなければfork()した中で開始時刻と終了時刻を出力するとか。
蛇足だけど、 コンパイラを変えると-gオプションとかうまく動かないことがあるね。
gcc3.xだけインスコしてgdbを変えなかったら、ソースファイルが見つからんとか言われた。
0775login:Penguin
03/08/29 10:11ID:DokghWbkintelコンパイラ以外でキボンヌ
0776login:Penguin
03/08/29 14:23ID:+Ii5K2eY最近のgccも使えるはず。
0777login:Penguin
03/09/02 10:04ID:KpUKip/J( ,_ノ` ) 777
ζ
[ ̄]'E
.  ̄
0778login:Penguin
03/09/04 18:03ID:FHcUI8Nh0779login:Penguin
03/09/09 03:44ID:wDUOST0N>蛇足だけど、コンパイラを変えると-gオプションとかうまく動かないことがあるね。
>gcc3.xだけインスコしてgdbを変えなかったら、ソースファイルが見つからんとか言われた。
コマンドラインで
$ gdb -d ディレクトリ名
って指定するか、gdbコマンド内で以下のように
(gdb) directory ディレクトリ名
すればいいのでは?
0780login:Penguin
03/09/14 14:08ID:Y8kxOv2d0781login:Penguin
03/09/19 00:26ID:KnTrMiuHint regsuccess;
const int nmatch = 5;
regex_t reg; /* regexパターンバッファ */
regmatch_t match[nmatch]; /* マッチした場所格納用 */
char *comment = "data-1.csv,"
"data-10.csv,"
"data-5233.csv,";
regcomp(®, "data-[0-9]*\\.csv", REG_EXTENDED);
regsuccess = regexec(®, comment, nmatch, match, 0);
regfree(®);
for(int i = 0 ; i < nmatch ; ++i) {
printf("%d, %d\n", match[i].rm_so, match[i].rm_eo);
}
とかやっても、match 配列には match[0] にしかマッチした位置が入らないんです。
regcomp や regexec のフラグにも、最初の 1 個目しかマッチさせないとか、
複数マッチさせるとかいったものは見当たらないんです。
これはそういうものなんでしょうか。
とすれば、regexec の 3 つ目の引数って存在意義がないと思うんですが、
複数のマッチ位置を全部返すようにはできないんでしようか。
よろしくお願いいたします。
0782login:Penguin
03/09/19 00:27ID:KnTrMiuH0783login:Penguin
03/09/19 01:18ID:eWuAESL5そんなもんらしい。
nmatchの効果については
http://www.aihara.co.jp/~junt/program/regex.html
とかに書いてあった。
0784login:Penguin
03/09/19 01:27ID:KnTrMiuHどうもありがとうございました。
() を含んだ部分正規表現というもの?(詳しくないので違ってたらすみません)の
どれにマッチしたかが配列に返される、ということなんですね。
0785login:Penguin
03/09/22 20:54ID:HF5ZnEZUログメッセージはどのファイルに書き込まれますか?
テキストでは /var/log/debug となっていたのですが、該当するファイルがないもので。
LOG_INFO だと /var/log/messages に書き込まれています。
0786login:Penguin
03/09/22 22:01ID:jpPJqFHHsyslog.confの設定による。
/var/log/syslogあたりに落ちてない?
0787login:Penguin
03/09/23 01:59ID:wn/KYk6V方法はないでしょうか?
今はmainのargv[0]から自分の名前を取ってきて、それに対してpopen
ストリームにwhichコマンドを流す事で絶対パスを取ってきていますが、
もっと簡単で確実な方法がありましたら教えてください。
自己参照を行うプログラムなので、どうしても知る必要があります・・
0788login:Penguin
03/09/23 04:39ID:OLVM2aZF/proc/self/exe が簡単確実だが、Linux 固有。
Unix 一般に移植したいなら自己参照をあきらめたほうがいい。
0789login:Penguin
03/09/23 05:06ID:2y799NSB/proc以下を参照するより速くて簡単な気がするなぁ。
/var/lock/subsys/とかにpidファイルとかロックファイルなんかを置いて排他制御してると
こけた後が面倒かと思って、/proc以下のpidをスキャンし実行ファイルのフルパスを
取り出すコードを書いたことがあるよ。
でもopendir()とかreaddir()を使って長ったらしいので、冒頭の方法のほうが簡単で美しいと思われ。
但し、当然のことながら、popen()で開いた先に情報を流すように書かれたソフトしか対応できない
から不自由といえばそうかも。
0790login:Penguin
03/09/25 12:24ID:zVZpqnRh評価するスレッドがあったらおもしろいのでは?
このスレでこんな話をするのは微妙にスレ違いかもしれないが。
0791login:Penguin
03/09/25 14:07ID:7PKpYukUいいだしっぺ(ry
0792login:Penguin
03/09/25 17:09ID:FN6PNMc80793login:Penguin
03/09/25 17:54ID:CHI7SxACApacheコードの品質は商用ソフトと同程度
0794login:Penguin
03/09/25 18:28ID:OvVti3qw>欠陥率が同程度ということは、オープンソースソフトはスタート時は
>プロプライエタリなソフトと同じくらいの完成度であることを意味するが、
詭弁だな。
Apatcheは例外的に需要があったというだけで、オープンソースソフトウェア
全てに対し当てはまるわけではない。
いくつかのオープンソースソフトウェアに対し、同じ様な調査を
繰り返せば悲惨な結果になることは想像に難くない。
0795login:Penguin
03/09/25 21:08ID:eArqU2g80796login:Penguin
03/09/26 23:04ID:Y8/LJVvSしかも前回発見された時の賞金の倍になってくとか。
でも、現在までに3つしかみつかってないとか。
Unix板のトリビアスレでみかけたんだが。
それだけ完成されたコードってことなんですかね?
0797login:Penguin
03/09/27 00:13ID:DuC3AJuD0798login:Penguin
03/09/28 13:54ID:iv6k0XYL0799login:Penguin
03/09/28 20:39ID:tTh3N0uxご自由に。
0800login:Penguin
03/10/13 00:59ID:VcU5GyRD0801login:Penguin
03/10/15 00:10ID:WteJLNwEttp://user.ecc.u-tokyo.ac.jp/~s31552/wp/bpo/
0802login:Penguin
03/10/26 00:44ID:rFeAGc7C作りたいのですが、
mozillaが次々、起動されていっていまいます。
立ち上げた、mozillaの同一タブ内へページの読み込みを指定したいの
ですが、どうすればいいでしょうか?
0803login:Penguin
03/10/26 00:52ID:RyP2AbXBmozilla --help
-remoteで目的を達成できるはず。
0804login:Penguin
03/10/26 00:54ID:5q8AKgF4http://www.mozilla.org/unix/remote.html
あたりの機能が使えないか検討。
0805login:Penguin
03/11/06 21:38ID:IDhTYBmO0806login:Penguin
03/11/15 13:56ID:2o75E3XL0807login:Penguin
03/11/15 15:52ID:mzbZHTgK(゚∀゚)できない
0808login:Penguin
03/11/15 22:29ID:BWJ3qu85forkはできないけど、スレッド(pthread)なら可能。
0809login:Penguin
03/11/16 00:04ID:q7HsnD3Jifconfigでeth0に割り当てられているIPアドレスを取得したいのですが・・・。
試しに同じコードをWindowsで動かしたらちゃんとLANカードに割り当てられたIPアドレスが表示されました。
Javaでeth0に割り当てられているIPアドレスを取得する事ってできるのでしょうか?
0810login:Penguin
03/11/16 02:26ID:UocxIZFDLinux上での名前解決の設定が"127.0.0.1"にされているからでは。
もし、DNS検索でhostsファイルが優先されているなら
/etc/hostsにちゃんとIPアドレスとマシン名が設定されているか確認したほうがいい。
例えばホスト名がhoge(192.168.1.1)の場合、/etc/hostsファイル設定は
/etc/hosts:
127.0.0.1 localhost.localdomain localhost
192.168.1.1 hoge
0811809
03/11/16 13:32ID:q7HsnD3Jレスありがとうございます。
/etc/hostsに直接記入した場合、IPアドレスが変更になった時はいちいち書き換えなければならないのではないでしょうか?。
動的にIPアドレスが割り当てられている環境なので、できれば自動で取得する方法を知りたいのです。
ifconfigなどでは表示されているので、なんらかの方法があると思うのですが・・・。
Linux初心者なもので、もし見当違いな事を言っていたら申し訳ないです。
0812810
03/11/16 16:14ID:jLgv/+o8以下のページの"DynamicDNS"を参照
http://www.nsknet.or.jp/~kamichan/linux/installdiary/dns.html
0813login:Penguin
03/11/17 18:18ID:R6kCcdNZselectが Bad file descriptorとか言って怒ってる (;つД`)
selectが使えないと相手のcloseを知るタイミングもSIGCHLDだけで複数パイプのどれだか分からず…
神様助けて下さい。(-人-)
0814login:Penguin
03/11/17 18:47ID:R6kCcdNZ0815login:Penguin
03/11/23 03:57ID:lcDeSyj7メモリをどのくらい消費したのかとまで調べる方法はありますか?
0816login:Penguin
03/11/23 19:50ID:wjjvLLivやる。
memcheck.sh
#!/bin/bash
$* &
com_id=$!
max_memsize=0
while ps $com_id > /dev/null
do
memsize=`ps --no-headers --format '%mem' $com_id`
if expr $memsize '>' $max_memsize
then
max_memsize=$memsize
fi
sleep 1
done
echo "Max memsize is $max_memsize"
使い方
memcheck.shとして保存して、
chmod +x memcheck.sh
./memcheck.sh jikkou sitai command
いじょ。
0817login:Penguin
03/11/23 21:33ID:wjjvLLivWSCvifieldで、数値のみ入力にする浮動小数点編
以下のプロシージャをトリガ FURCUS_CHで登録
def vifi_tof(object)
strval = object.getProperty("labelString").getCharPtr()
return if strval == ""
fval = strval.to_f
object.setProperty("labelString",fval.to_s)
# object.update()
Mpfc::WSGIappDev().update()
end
0818login:Penguin
03/11/24 00:32ID:aGsdOEbvGNUソフトウェアプログラム と C++プログラミング入門
を購入してきたんですけど方向として間違っていますか?
一つ目の目標としては、エディタを作ってみることです。
参考にエディタのソースを探しているんですけど、見つからないですw。
向いてないのかなぁ。。。
0819login:Penguin
03/11/24 00:46ID:ouo7pXOjviのソースとかemacsのソースとかedのソースとか、その辺に転がってる罠。
0820login:Penguin
03/11/24 01:16ID:aGsdOEbvsrc.rpmの状態からソースを取り出すのには
どういった手順が必要なのか。。。
本見てもインストールの仕方ばかりで。。。
もちょっと頑張らなくちゃ。
0821820
03/11/24 01:56ID:aGsdOEbv情報の集め方が間違ってるのか。。。
0822login:Penguin
03/11/24 02:00ID:/rv1sO3Http://www.atmarkit.co.jp/flinux/rensai/linuxtips/522rpmcpio.html
0824login:Penguin
03/11/24 03:32ID:7bs+maWPわざわざrpm2cpio使うまでもない
0825login:Penguin
03/11/24 09:11ID:DPOPBf2oとりあえず、使ってみます。
どうもです。
0826login:Penguin
03/11/25 14:48ID:VkzcVBqKa a.orig b b.orig
と4つのファイルがあって、diff をつかって複数のファイルから差分を一度に表示させることはできますか?
今は、
$ diff -u a.orig a > foo
$ diff -u b.orig b > bar
とやって foo と bar を連結させているという非常に回りくどいことをやっているのですが、
もっと簡単にできないものかと。
0827login:Penguin
03/11/25 19:50ID:YPqveVlUディレクトリ別にして、-urとかじゃだめなの?
例えば、ディレクトリhogeにaとbを配置し、
ディレクトリhoge.origにa.origをaに名前をかえて、b.origも同様にして、
$ diff -ur hoge.orig hoge > hoge.diff
するとか。
0828login:Penguin
03/11/27 08:46ID:JsWTr2uN最終的にはネットワーク配信をできるようなものを作りたいんですけど
mpeg4を扱えるようなライブラリ等はどのようなものがありますか?
0829login:Penguin
03/11/27 11:03ID:Q5CHQ0kVやる。
#!/bin/bash
for i in `ls | grep -v '.orig$'`
do
if [ -f $i.orig ] ; then
diff -u $i.orig $i
fi
done
0830login:Penguin
03/11/28 00:12ID:NrG8nS+O>v4lデバイスから取り込んだ動画をmpeg4で圧縮して
>最終的にはネットワーク配信をできるようなものを作りたいんですけど
既に無かったっけ?ストリーミング鯖
0831login:Penguin
03/11/28 14:24ID:0uPTkcP3http://www.videolan.org/
0832login:Penguin
03/11/28 16:47ID:reTvTi2f遅レスだけど、実行ファイルの中に文字列定数として持っとくってのは不可?
ライブラリの場所 (/usr/lib/foo-1.0/ とか) がコンパイル時に決定される
ソフトウェアがあるよね。あれと同じ要領で実行ファイルがインスコされる
絶対パスをコンパイル時に決めちゃうわけ。Makefile だとこんな感じ。
bindir = /usr/bin
foo: foo.c
gcc -o foo -DEXEFILEPATH=$(bindir)/foo foo.c
install:
install -m 755 foo $(bindir)/foo
プログラム中ではシンボル EXEFILEPATH を見れば実行ファイルの場所が分かる。
0833login:Penguin
03/11/29 21:57ID:+eWQ4cVT>ライブラリの場所 (/usr/lib/foo-1.0/ とか) がコンパイル時に決定される
>ソフトウェアがあるよね。あれと同じ要領で実行ファイルがインスコされる
automakeとかautoconfとかのこと?
0834login:Penguin
03/11/29 22:32ID:ymOcP7gS俺は832じゃないけど、Automakeは
$ make DESTDIR=/hoge/fuga install
のようにインストール時に(というかバイナリパッケージ作成時)に
インストール先を変更することが可能になるように設計されているから、
AC_DEFINE_UNQUOTEDなんかを使ってconfig.h(または-D)で定義しても
インストール時に変更される可能性があって、問題あるかも。
だから、Makefileに書けってことじゃない?
0835832
03/11/30 08:09ID:IEIlDXipコンパイル時に決めて、実際にそこにあると仮定してプログラムを書けば?
という提案だった。
0836834
03/11/30 09:24ID:pSa56DZIそうなると、元質問者のargv[0]から求めるっていうのは、
/procへの依存性も無いので、悪くない気がするね。
いずれにせよinstall前のデバッグがちょっと面倒そうだけど。。。
# 俺は自己参照型のプログラムを書いたこと無いんでよく分からん。
0837832
03/11/30 10:46ID:IEIlDXipひょっとして、作ろうとしているのはウィルス?(w
0838832
03/11/30 10:48ID:IEIlDXip○ 自己参照を行う
0839login:Penguin
03/11/30 15:49ID:TjROfage0840832
03/11/30 15:59ID:IEIlDXip0841login:Penguin
03/11/30 17:07ID:x2UJDG/9#include <stdio.h>
#include <linux/limits.h>
int main(int argc, char *argv[])
{
char buf[PATH_MAX];
printf("%s's current working directory: %s\n", argv[0], getcwd(buf, PATH_MAX));
return(0);
}
詳しいことは以下を読め
man getcwd
0842login:Penguin
03/11/30 17:22ID:pSa56DZIそれって、カレントディレクトリを表示するんじゃない?
0843login:Penguin
03/11/30 17:24ID:pSa56DZI0844login:Penguin
03/11/30 18:01ID:IEIlDXip0845841
03/11/30 18:33ID:x2UJDG/9>Linuxで、実行中のプログラムのファイルの絶対パスを知る簡単な
>方法はないでしょうか?
>今はmainのargv[0]から自分の名前を取ってきて、それに対してpopen
>ストリームにwhichコマンドを流す事で絶対パスを取ってきていますが、
>もっと簡単で確実な方法がありましたら教えてください。
>自己参照を行うプログラムなので、どうしても知る必要があります・・
>>787は、結局のところ自身のコマンドの絶対パスが知りたいんでは?違うのか?
0846login:Penguin
03/11/30 19:18ID:IEIlDXip0847login:Penguin
03/11/30 19:59ID:x2UJDG/9間違った!!!!!w
これってPATHで参照できるコマンドの絶対パスが知りたいってことか。
んなもんシステムコールやライブラリには無いと思うが。
そんなことする作りが変では無いか?
0849login:Penguin
03/11/30 21:31ID:x2UJDG/9>だからウィルス?って予想もありだよね。
いぁ、それはわかんないけど。
(もしそうだとしても、それだけではウィルスとして使い物にならん)
PATH次第によっては見つかったり見つからなかったりするんで
やはり作りが変?だと思う。
(自身のコマンドが絶対PATHを知っていると何が幸せなのかわからんし)
それに現在popen、whichで出来てるんだったらそれでいいじゃんって感じ。
0850login:Penguin
03/11/30 22:07ID:xWqa/CxVDOS時代の作法にあったなあ…
0851login:Penguin
03/11/30 22:44ID:x2UJDG/9PATHの先頭の方に同名の偽コマンドを置けば
在るようにみせることが出来るよ。
脆弱性ハケーンかな?w
0852login:Penguin
03/11/30 22:45ID:IEIlDXip大したステップ数にはならない予感。
0853偽which作ってみた
03/11/30 22:54ID:x2UJDG/9#include <stdlib.h>
#include <string.h>
#include <linux/limits.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
int main(int argc, char *argv[])
{
char *ppath, *ptr;
char buf[PATH_MAX];
struct stat st_stat;
int ret;
if(argc != 2){
fprintf(stderr, "Usage: %s command\n", argv[0]);
return(1);
}
if((ppath = getenv("PATH")) == NULL){
fprintf(stderr, "PATH not exist\n");
return(1);
}else if(strlen(ppath) == 0){
fprintf(stderr, "PATH is empty\n");
return(1);
}
ptr = strtok(ppath, ":");
while(ptr){
0854偽which作ってみた
03/11/30 22:54ID:x2UJDG/9strncat(buf, "/", PATH_MAX-1-strlen(buf));
strncat(buf, argv[1], PATH_MAX-1-strlen(buf));
ret = stat(buf, &st_stat);
if(ret == 0){
if(S_ISREG(st_stat.st_mode)){
printf("%s\n", buf);
break;
}
}else if(ret == -1){
if(errno != ENOENT){
perror("stat");
break;
}
}
ptr = strtok(NULL, ":");
}
if(ptr == NULL){
fprintf(stderr, "%s not exist\n", argv[1]);
}
return(0);
}
0855偽which作ってみた
03/11/30 22:57ID:x2UJDG/9権限とか全然チェックしてません。
0856login:Penguin
03/11/30 23:07ID:IEIlDXip0857login:Penguin
03/11/30 23:18ID:W0msD5ozまあexecve(2)の第一引数とは違う可能性もあるんだが。(UNIXで完璧なのを作るのは無理)
ちなみにldd, ld.soに参考になるcodeがある。
0858login:Penguin
03/11/30 23:34ID:x2UJDG/9>whichを使う前にargv[0]が絶対パスかどうか調べた方がいい。
argv[0]にbasenameをかませばいいだけ。
>まあexecve(2)の第一引数とは違う可能性もあるんだが。(UNIXで完璧なのを作るのは無理)
argv[0]は変更できるんでそこんところは大目にみてくれ。
>ちなみにldd, ld.soに参考になるcodeがある。
さいですか。
0859login:Penguin
03/12/01 13:41ID:MB98Kdx1X上で表示されている各ウィンドウを非表示にしたりまた表示したり
(XMapWindow?)することを他のアプリケーションから行いたいのですが
どうすれば良いのでしょうか。
バーチャルデスクトップが使えるウィンドウマネージャの
ソースとか見ると分かるのかもしれませんが、
僕には太刀打ちできませんでした。
キーワードだけでも教えていただけるとありがたいです。
よろしくお願い致します。
#Xはスレ違いだったらごめんなさい。
0860login:Penguin
03/12/01 22:47ID:ihH/I9Emム板にXlibスレがあったけど、最近は保守だけみたいだから、、、
自慢じゃないが俺には分からん。
0861login:Penguin
03/12/01 22:58ID:8njOyIGV#include <stdlib.h>
#include <X11/Xlib.h>
int main(int argc,char *argv[])
{
char *display;
int ch;
Display *disp;
Window w;
w=0x1c01ad0;
display=getenv("DISPLAY");
if (display!=NULL) {
disp=XOpenDisplay(":0.0");
XUnmapWindow(disp,w);
XFlush(disp);
ch=fgetc(stdin);
XMapWindow(disp,w);
XFlush(disp);
} else {
fprintf(stderr,"Environment variable DISPLAY is undefined\n");
}
}
0862861
03/12/01 23:01ID:8njOyIGV上の例だと、 w=0x1c01ad0; となっているのがウィンドゥIDで、
これはxwininfoで
xwininfo: Window id: 0x1c01ad0 (has no name)
みたいに表示されている。
ここを書き換えてコンパイル、実行すれば、xwininfoで調べた
Windowが消える。
なにかキーを押せば復活する。
問題は、このウィンドゥIDをもっとちゃんとした方法で知ることであるが
これはプログラムの用途によって方法が異なってくると思うので
用途にあった方法を考える。
0863login:Penguin
03/12/01 23:59ID:I6e583iL他ディレクトリへの相対パス指定されたら駄目でしょ
0864login:Penguin
03/12/02 00:52ID:IGK1dN5i0865login:Penguin
03/12/02 03:56ID:jmEuRE+20866login:Penguin
03/12/02 07:05ID:0RsR6Dsz「文芸的〜」は"Literate UNIX programming"
http://www.amazon.co.jp/exec/obidos/ASIN/0937073806
http://www.amazon.co.jp/exec/obidos/ASIN/0201896834
http://www.saiensu.co.jp/books-htm/ISBN4-7819-0302-9.htm
http://www.amazon.co.jp/exec/obidos/ASIN/4320097106
http://www.amazon.co.jp/exec/obidos/ASIN/0262193388
0867login:Penguin
03/12/02 07:19ID:UbgA1PcHhttp://www.jp.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/stdlib/realpath.c?rev=1.20&content-type=text/x-cvsweb-markup&only_with_tag=MAIN
あたりをパクるのが楽かと思われ。
0868867
03/12/02 07:25ID:UbgA1PcH私はLinuxユーザでないので知らない。
例えばSolarisのrealpathでは、相対パスが与えられた時には
絶対パスが返されないことがあるらしいので、glibcにrealpath
があったとしても、その辺の振る舞いをチェックする必要がある
でしょう。
0869login:Penguin
03/12/02 07:54ID:0RsR6DszREALPATH(3) Linux Programmer's Manual REALPATH(3)
NAME
realpath - return the canonicalized absolute pathname
0870859
03/12/02 12:02ID:SNYAPZHJ解説、どうもありがとうございます。
サンプルプログラムまで頂けて感激です。
こんなに短いコードで済むなんてびっくりですね。
なんかの本に「メカニズムとポリシーをはっきり区別してるところが
Linuxの設計の優れたところだ」と書いてあったのですが、
もちろんこのことはXにも当てはまるわけですね。
大げさかもしれませんが、そんなことを感じました。
今、ちょっと手元に環境が無いのですぐ試せないのが残念ですが、
あした、早速試して見ます。
>860
レスつけてくれるだけでも充分ありがたかったです。(w
0871login:Penguin
03/12/02 12:47ID:y4gvX7HI例えば
$ xwininfo -tree -root | grep -i kterm
とすれば kterm という名前のウィンドウを全部リストアップできるね。
とゆーことで xwininfo のソースを見れば参考になるんじゃないかな。
xprop コマンドのソースも参考になりそう。オプソまんせー(w
0872862
03/12/02 13:03ID:SNYAPZHJどうもありがとうございます。
xwininfoってこういうことも出きるんですね。
ウィンドウをクリックする使い方しか知りませんでした。
一度はmanでちゃんとチェックすべきですね。
ソースも見てみます。
#ただ、毎回の事ながらわからなくて挫折してしまうのですが(w
0873login:Penguin
03/12/02 13:08ID:0RsR6Dszlogin時にiconにしておきたいのに、-iconicがちゃんと働かないbiffを、
それでid調べて無理やりicon化したことがあったな。
0874login:Penguin
03/12/02 13:14ID:y4gvX7HIhttp://cvsweb.xfree86.org/cvsweb/xc/programs/xwininfo/
http://cvsweb.xfree86.org/cvsweb/xc/programs/xwininfo/xwininfo.c?rev=1.10
http://cvsweb.xfree86.org/cvsweb/xc/programs/xlsfonts/dsimple.c?rev=3.7
0875login:Penguin
03/12/02 13:17ID:y4gvX7HI例えば xwininfo -root -tree を実行したときにどういう流れで処理が進むのかを
追いかけてみるといいよ。必要な部分をコピペしてその処理の流れを再現する
プログラムを書いてみるのもいい。
0876login:Penguin
03/12/04 00:43ID:6iyb4CU8プロトタイプ宣言をヘッダファイルでなく定義されているファイルに
一気に移したいんですけど、
プライベートな関数を調べてあげてくれるツールとかありますか?
ちなみに GNU で開発してますが ld にこんな機能あったらいいのに。
0877login:Penguin
03/12/04 00:48ID:rKCakjnk0878login:Penguin
03/12/04 22:28ID:sWWDYweq0879login:Penguin
03/12/06 23:34ID:wQbZ0jXD>C でプライベートな関数(自分が定義されているファイル内でしか参照されてない)の
>プロトタイプ宣言をヘッダファイルでなく定義されているファイルに
>一気に移したいんですけど、
コピペすればいいじゃん。
>プライベートな関数を調べてあげてくれるツールとかありますか?
無い。必要ないから。
>ちなみに GNU で開発してますが ld にこんな機能あったらいいのに。
いらないと思うが。
ちなみに関係無いけどlddで共有ライブラリへの依存関係を調べられる。
0880login:Penguin
03/12/07 22:33ID:zLB/2gLG> ちなみに関係無いけどlddで共有ライブラリへの依存関係を調べられる。
マジ関係ない
0881login:Penguin
03/12/11 12:46ID:rNX2TzV0XFree86上で動くゲームを作りたいのですが、
WindowsのAPIにおける
PeekMessageみたいな関数はXLibにありますか?
それと、60FPSにするために60分の1秒ウェイトする方法を教えてください。
おねがいします。
0882login:Penguin
03/12/11 18:45ID:8lyIoHlg> PeekMessageみたいな関数はXLibにありますか?
pollとかselectのことかな?
> それと、60FPSにするために60分の1秒ウェイトする方法を教えてください。
usleep じゃだめなんか?
ゲームなら、zsnesのソース見て参考にしたらどうかな。
0883login:Penguin
03/12/11 23:59ID:qZwK1/awしかしXであればXtAppAddTimeOutなんかでタイマーをセットして
コールバック関数をよんでもらうほうがX風だったり。
GtkとかQtにも同様の関数はあると思われ
画面リフレッシュに同期して描画したいというなら
...ちょっとわからん。
0884login:Penguin
03/12/12 04:00ID:p1r0xxMa881が、どの程度の精度を求めているかによるんだけど、
usleep使うと描画時間分ずれていくから、オトゲー系はきつい。
俺は、setitimerつかったよん。
とりあえずなら、SDLつかうのも楽かも。
0885login:Penguin
03/12/12 20:01ID:xTw+tehD0886login:Penguin
03/12/12 20:21ID:kKRUSP860887login:Penguin
03/12/12 20:39ID:vXDic0I40888login:Penguin
03/12/12 23:32ID:0mhoD5bA日本語で頼むわ
0889login:Penguin
03/12/13 00:14ID:q8/xqIaE0890!888
03/12/13 00:38ID:LET2eCCSftp://ftp.ascii.co.jp/pub/GNU/make/make-jp-3.79.1.tgz
0891881
03/12/13 21:47ID:O4yV8qD+色々試してみましたがウェイトはsleepよりWindowsにあるtimeGetTimeみたいな関数が欲しいです。
誰か知りませんか?
0892login:Penguin
03/12/13 22:37ID:DMJyYxYjhttp://www.mech.tohoku-gakuin.ac.jp/rde/contents/linux/control/lcycle.html
0893login:Penguin
03/12/13 22:37ID:DMJyYxYjビジーループで休むって事ですか?
0894login:Penguin
03/12/13 22:44ID:CXIgy1wwhttp://www.linux.or.jp/JF/JFdocs/kernel-docs-2.4/rtc.txt.html
0895881
03/12/14 10:39ID:J1jDGD1Wwhile(1) {
if( timeGetTime() - oldtime > 1000/60 ) {
画面描画
}
while( PeekMessage(略) ) { // イベントがあるか調べる
イベント処理
}
}
って感じにできるんです。
linuxだとずいぶん大変そうですね・・・諦めてWindowsでゲームつくろっかな。
0896login:Penguin
03/12/14 11:00ID:A6qOSZwngettimeofday使って自分でポーリングするか、
setitimer使ってシグナルでタイマーが切れたことを知らせてもらうか、
SDLなどのゲーム用ライブラリを用いるか
になるのではないかと。
いずれも秒以下の時間制御のためには使ったことないのでどの程度精度が
いいものかわからないけど。
0897login:Penguin
03/12/14 11:58ID:fdUDptKQtimeGetTimeをgettimeofdayにそのまま変えれば
ほぼ同じロジックで組めるのだが
そのロジックだとプログラムが常に走りっぱなしになるから
ふつうはそんな組み方はあまりしない
(時間がくるまで待つ(sleepする)ように組む)
自分のプログラムだけでCPUを100%使いきらないための配慮だが
このあたりはWindowsでも同様と思うのだが。
ちなみにgettimeofdayで同様に組むと10ms程度の精度
(タスクスイッチの時間単位)になると思う。
2.6カーネルだとタスクスイッチが1ms単位になっている気が
しないでもないが。
0898login:Penguin
03/12/14 12:11ID:fdUDptKQイベントを調べる関数として、XNextEvent等があるが
イベントがくるまで処理がとまることのないものとして
XCheckWindowEventあたりがいいかも
0899login:Penguin
03/12/14 12:30ID:fdUDptKQXでそれらしいように組むにはこんな感じか
画面処理ルーチン() {
// イベントチェックはメインルーチン側で行う
// 1/60秒ごとにまわってくるようにするので時刻チェックは不要
画面描画
}
int main() {
...いろいろ処理...
// 割り込みの設定
sigemptyset(&smask);
sigaddset(&smask,SIGALRM);
sigtocall.sa_handler=画面描画ルーチン;
sigtocall.sa_mask=smask;
sigtocall.sa_flags=0;
sigaction(SIGALRM,&sigtocall,NULL);
// タイマーの設定
itimeval.it_interval.tv_sec=0; // タイマ間隔
itimeval.it_interval.tv_usec=16667; //およそ1/60s
itimeval.it_value=it_interval; //最初に割り込みがかかるまでの時間
setitimer(ITIMER_REAL,itimevak,NULL)
// メインルーチン
while (終了フラグ=0) {
// イベント処理
XNextEvent(略);
}
}
0900login:Penguin
03/12/14 17:24ID:G6zew8S8下のコマンドでやってみたんですけどダメでした
なにがいけないのでしょうか?
# tr '。' '012' < FILE
0901login:Penguin
03/12/14 20:09ID:73Xfjjuvtrが多バイトに対応していないからかな?
置換ならsedとかが楽かも。
# 俺はemacsでやるかな。
0902login:Penguin
03/12/14 21:40ID:+2AOP9r5いざ他人のソースを読むとなるとまったく手がつきません。
考えてみるとCのテキストには自分で1から作り起こす方法は書いてあるのですが
他人のソースを読むときの取り掛かり方とかが全然乗っていませんでした
(そのためgrepの存在とかも知らなかったりした(^^; )
こういった「脇を固める技術」を得られる本などはありませんか?
0903login:Penguin
03/12/14 21:45ID:CALh7OtqRubyHackingGuideとか
0904login:Penguin
03/12/14 23:05ID:TmFBnZWoC じゃなくて何かスクリプト言語から始めるのはどう?
Java とか。
Cは初心者向きじゃないよ。
0905login:Penguin
03/12/14 23:16ID:WylokYMj次にお前は 「Javaはスクリプトじゃあありません!」 と言う
0906login:Penguin
03/12/14 23:40ID:KWkCvRBMありがとうございます。とりあえず本屋に行ってみます
>>902
>Cは初心者向きじゃないよ。
もう読み終わってポインタとか構造体とかファイル入出力とか
使えるようになっちゃったよ..._| ̄|○
まぁ、完璧マスターというわけじゃないけど
0907login:Penguin
03/12/14 23:54ID:hPxKBa60そんなサクッとポインタが使えるようならセンスあるよ。
手助け不要と思われ。
0908login:Penguin
03/12/14 23:59ID:AS4kPxx1いじってみればいいのでは?
書き換えるためには自然とソースを探り回ることが必要になるから勉強になる.
(練習なんだから,意味のある書き換えをする必要は別になくて,
やたらHello Worldを出力させるとか,コマンドラインオプションの種類を増やしてみるとか)
0909login:Penguin
03/12/15 00:10ID:gAKoWWT5http://i.loveruby.net/ja/misc/readingcode.html
ここの一番下の図みたいなのが簡単に出力できるツールはないのかな。
SXTってのはWindowsでしか使えないみたい。
0910login:Penguin
03/12/15 00:23ID:+UxP4Bdiというか使えるように多大な労力を払った後なわけで…
でも我流なんで知識の偏りっぷりがどうにもならない
0911login:Penguin
03/12/15 00:29ID:JVPkHolL何を目指してるのかわからんけど、こんなモノも読んどくと良いと思われ
http://www.amazon.co.jp/exec/obidos/ASIN/4756136494/ref=sr_aps_b_/250-5812912-3157808
http://www.amazon.co.jp/exec/obidos/ASIN/4894712741/ref=pd_bxgy_text_1/250-5812912-3157808
0912login:Penguin
03/12/15 01:31ID:d+ZhqAkqそれなりのCの知識があるのに
本が読めて、ソースが読めない って在る意味あべこべだぞ・・・
0913login:Penguin
03/12/15 01:52ID:qJN+u7cKコードからその裏にある意図(そこにあるコードの必然性)を
推し量らないといけないわけで、C純粋の知識よりかは
OSの知識とか一般的な方法とか、いくらかの慣れがいる。
逆にいえばあとは「意図」を読むことに注意して周辺の知識を仕入れ
なれてくれば...って、これはこれで大変なんだが。
0914login:Penguin
03/12/15 02:14ID:d+ZhqAkqそんなことまとめて論じている本ってプログラミングの本と言うより心理本?
0915login:Penguin
03/12/15 03:18ID:kdgNe/Tf他人の書いたプログラムはその人が好き勝手に書いてるものだから
読み手の理屈では推し量れない。もとより理屈なんて無い。
ぶっちゃけ「習うより慣れろ」としか言いようがない。
深さ優先でプログラムを読んで疑問点を解消できたときの気分って、
初めて自転車に乗れたときの「何かをつかめた感じ」に似てるよね。
「どうすればプログラムが読めますか」という質問は
「どうすれば自転車に乗れますか」という質問と同じぐらいバカバカしい。
どっちも理屈抜き。体で覚えるしかない。
全然関係ないけどプログラミングと心理学と聞いて
ワインバーグ先生の「プログラミングの心理学」を思い出した。
この本はめちゃくちゃ面白い。そー言えば他人のプログラムを読むことを勧めてた。
もっとも、この本を読んでもプログラムは読めるようにならないけどね(w
0916login:Penguin
03/12/15 03:23ID:ZWNVafxFいや、普通のプログラム本じゃない?
プログラミングの定石を知れば、コードの意図もつかみやすくなるし。
0917login:Penguin
03/12/15 03:26ID:kdgNe/Tf他人の書いたプログラムを読むのってデバッグと似てるよね。
ある程度の規模の自作プログラムをデバッグした経験があると
他人のプログラムを読むときにも相応の勘が働きそうな気がするけど
どうだろう。
言語にもよるけど一万行ぐらいあるプログラムを書いたことがあれば
他人のプログラムを読むのも楽になりそうな気がする。
てことで「読めるようになるまで書きなさい」という回答はどうだろうか(w
0918login:Penguin
03/12/15 03:26ID:1zJ+IaPYエイホを読んでいればGNU grepのソースのdfa.cの中身は
読まなくてもおおよそ何が書いてあるのか見当がつくし、
悪魔本を読んでればOSのソースのtss.cの中身は想像できそう。
0919login:Penguin
03/12/15 06:57ID:rzegbyQF悪魔本って何ですか?
0920login:Penguin
03/12/15 23:59ID:gA8c5nIvA・ビアスの悪魔の辞典
0921login:Penguin
03/12/16 00:39ID:ekQmZ+iR4.4BSDの設計と実装(俗にいう悪魔本)
ttp://www.amazon.co.jp/exec/obidos/ASIN/4756143466
Lions’ Commentary on UNIX(俗にいうライオン本)
ttp://www.amazon.co.jp/exec/obidos/ASIN/4756118445
コンパイラ―原理・技法・ツール(俗にいうドラゴン本)
ttp://www.amazon.co.jp/exec/obidos/ASIN/4781905854
0922login:Penguin
03/12/16 00:53ID:7PlkmonTとりあえず、UNIXマガジン連載を集めた「プログラミング・テクニック」
は、どーよ?
http://www.ascii.co.jp/books/detail/4-7561/4-7561-4389-X.html
0923login:Penguin
03/12/16 01:04ID:7PlkmonTSOFTBANKの「Linuxプログラミング〜例題で学ぶUNIXプログラミング環境」
O'REILLY 「GNUソフトウェアプログラミング」
コンピュータの中身的な話なら、
オーム社の「Linker&Loaders」が勉強になった。
0924login:Penguin
03/12/16 16:43ID:lg2iGe9oコマンドラインオプションまたはアプリケーション自身の
ハードコーディングで、geometryを強制指定するのって、
どうやるの?
Xtベース(つまりXawやMotif)なら
-geometry 100x200+10+5 みたいなオプション指定ができるけど、
Gtk or SDL だと無理みたいなので、これに相当する方法が知りたいんです。
だれか、よろ〜
0925login:Penguin
03/12/23 19:25ID:vA5L6hbH0926login:Penguin
04/01/07 22:25ID:7IDkPX2vこういう本ってなんでデザインがダサいんだろうね。
ま、いいけどさ。
0927login:Penguin
04/01/07 23:12ID:WoVOhRu/薦められていた
「Linuxプログラミング〜例題で学ぶUNIXプログラミング環境」を買うつもりが、
「例題で学ぶLinuxプログラミング」って本を間違って買ってしまった...名前似すぎ!
http://www.ne.jp/asahi/yokohama/juk/LPBE/
でも、これはこれでよかったかも。(ncursesについて知りたかったので)
0928login:Penguin
04/02/08 20:58ID:F8Ufjb9Rstdarg.h と varargs.h
どっちを使うのが今風なの?
0929login:Penguin
04/02/08 21:08ID:JvIEIZfSC99規格ではstdarg.hだったような気がする。
0930login:Penguin
04/02/09 02:06ID:QekrBuutア゙ディガドゥル
ゾリディャッデヴィバス
0931login:Penguin
04/02/18 13:00ID:tTG0khm7長期運用するならlogrotateするけど
このときプログラム側ではlogrotate実行に備えて
なにをどう注意したらいいんだしょうか?
普通にfopenして書いてるとだめだよなですよね
0932login:Penguin
04/02/18 13:13ID:elwpbQ4N普通 syslog 関数で書くような。
0933login:Penguin
04/02/18 13:41ID:NfVfptY0logrotate 側の設定はいじんないの?
0934login:Penguin
04/02/18 13:41ID:YVUW8snZSIGALRMのハンドラでfopenし直しだろ。
つまりsyslogがやっていることと同じ。
0935login:Penguin
04/02/18 14:09ID:tTG0khm7SIGALRMね
ありがと
SIGHUPだとずっと勘違いしてた
0936login:Penguin
04/02/18 20:23ID:YVUW8snZあんたのはアプリの独自rotateでしょ。
SIGHUPは端末切り放しか、restartの意味だから、
別のシグナルの方がいいんじゃないの?
0937login:Penguin
04/02/18 21:30ID:tTG0khm7いや、logrotateをつかいたいんだですよ
ローテート処理まで自分で書くのだるいしですし
0938login:Penguin
04/02/18 21:52ID:YVUW8snZsyslogd廻りが全部やってくれる。
0939login:Penguin
04/02/19 09:16ID:S0TLJ5zSファイルをわけたいんだけど
syslog.confの書き方がわからないんだよ
そういう使い方をする場合の説明が少ないから
0940login:Penguin
04/02/19 10:04ID:SrMq61PElogrotate の設定でアプリを起動し直すようにしちゃだめなのか?
>>939
man syslog.conf
man 3 syslog
0941login:Penguin
04/02/19 11:08ID:YvMi/+uC端から端まで見たよ
0942login:Penguin
04/02/19 11:36ID:9vp8HnwR仕事だったら会社辞めるとか・・・
なんか向いてないっぽ
0943login:Penguin
04/02/20 01:53ID:C4iV9AVa0944login:Penguin
04/02/20 05:00ID:ypw0LS60┗0=============0┛
\===========[_|_|_|_|_|_|_|_|_|_|_|_|_|_]===========/
/三三三三三三三三三三三三三三三三三三三三\
0 │ |∞∞∞ |::|∞∞田田田田田田∞∞|::|∞∞∞ | ::| 0
...[二] | ::| |::|┏━━━━━━━━┓|::| | ::l [二]
........|□|.│ |┌┬┐ |::|┃ / \ ┃|::| ┌┬┐| ::|. |□|
)三(...| ::|├┼┤ |::|┃/ \┃|::| ├┼┤| ::|`)三(´
| ::| | ::|└┴┘ |::|┃ / ̄ ̄ ̄ ̄ ̄\ ┃|::| └┴┘| ::| | ::|
| ::| | ::|┌┬┐ |::|┃彳 人______ ノ.┃|::| ┌┬┐| ::| | ::|
| ::| | ::|├┼┤ |::|┃入丿ー◎-◎ーヽミ.┃|::| ├┼┤| ::| | ::|
|: :| | ::|└┴┘ |::|┃ r . (_ _) )┃|::| └┴┘| ::| | ::|
| ::| | ::|┌┬┐ |::|┃ ( ∴.ノ▽(∴ ノ ┃|::| ┌┬┐| ::| | ::|
| ::| | ::|├┼┤ |::|┃⌒\_____ノ⌒┃|::| ├┼┤| ::| | ::|
| ::| | ::|└┴┘ |::|┃ ┗━┛ .┃|::| └┴┘| ::| | ::|
| ::| | ::| ... |::|┃ . .>>942 ┃|::| | ::| | ::|
.....┏━━━━━┓| .|┃ ......┃|::|┏━━━━━┓
.....┣┳┳┳┳┳┫|: |┗━━━━━━━━┛|::|┣┳┳┳┳┳┫
○ ● ∫∬∫∬ ● ○
○○ ●● iiiii iii ii iiii ●● ○○
[ ̄ ̄] [ ̄ ̄] ( ̄ ̄ ̄ ̄ ̄) [ ̄ ̄] [ ̄ ̄]
|_○_| .|_○_| |_____| |_○_| .|_○_|
∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧
( )( )(, )(,, ) ,,)( )( )(, )( ゚Д゚ )
0945login:Penguin
04/02/20 09:56ID:SE61JsUR0946login:Penguin
04/02/20 13:25ID:zd3GjK1n0947login:Penguin
04/02/20 15:12ID:KYNvxlQW一応了解を得ましたので以下に質問させていただきます。
libxxx.aとかのライブラリに定義されてるシンボルは、もちろん
他のプログラムから使えると思うのですが、実行ファイルに定義
されているシンボルを、他のプログラムから使うことは出来るの
でしょうか?
実行ファイルをnmで見た時の関数を、自分で作ったプログラムか
らコールしたいんです。その関数を定義しているヘッダファイル
は持ってます。
というのもあるアプリケーションをベースに、そのフロントエンド
みたいなプログラムを作りたいと思っています。
で、そのベースのアプリケーションのある関数を使いたいんです
けど、ライブラリには無いんです。
ソースをコピーしちゃえば良いかも知れないですが、それだと
そのベースのアプリケーションのその関数がバグフィックスなど
で変更されたときに、いちいち自分で作ったプログラムも修正
しなおさなければいけません。
これをしたくないのです。
0948login:Penguin
04/02/20 15:23ID:SE61JsUR> そのベースのアプリケーションのその関数がバグフィックスなど
> で変更されたときに、いちいち自分で作ったプログラムも修正
> しなおさなければいけません。
のようなことに対して不変という仮定がそもそも…
おたずねのことについては、ld.soがやっているようなことをやれば可能かと、
しかし呼び出している関数に対してもやる必要があるからかなり大変だね。
0949login:Penguin
04/02/20 15:29ID:bbNjHyQBライブラリの方に移してくれって作者に頼むなり
自分で改造するなりすれば?
0950login:Penguin
04/02/20 20:25ID:ZVKDdpmWそれがしたくない(できない)のではなかろうか・・・
0951login:Penguin
04/02/20 20:46ID:FH7YofMTといってもそれしか方法が無いわけだが。
ダイナミックリンカもどき作っても、相手側のアドレスが変わったら対応できないし。
まあ、はくしてパッチを送るのが一番無難な対応だと思いまふ。
0952login:Penguin
04/02/21 00:32ID:5f4IU5Il要するに、
「あるプログラムの関数を使用したい。
コピーはできるけど、オリジナル関数の方に変更があった時に
コピーした方も変更が入るからやりたくない。」
ってことでしょ
実行プログラムを逆汗して埋め込むってのは無し?
0953login:Penguin
04/02/21 01:20ID:a7qDi4jsあくまでも玄人ということを忘れちゃいけないですよ。
自分で生HDDをつけるということは、少なくてもパーティションの作成から
ファイルシステムやswapの作成というところから始めなきゃいけない訳だし
unix未経験者にはハードル高いんじゃないかな、少なくてもvi使えないと話にならんし。
でもこれから勉強したい人には良いかもね。
0954login:Penguin
04/02/21 01:37ID:aNwXDTklそれは本人じゃないとわからないな。
0955947
04/02/21 10:21ID:g34pH8iIちょっと仕事が入ってしまってリプライが遅くなってすみません。
単純に実行ファイルをリンクできるかなあ、と思ってしまった私が
馬鹿でした。
そもそも私が考えていたことは出来ないと理解しました。
>>949 さんがおっしゃる作者への依頼と改造は、>>950さんが
おっしゃるように現状出来ないのです、、
>>952さんの逆アセについてはちょっと私には知識が無いので
難しいです。
とりあえずあきらめました。
皆様ご助言ありがとうございました。
0956login:Penguin
04/02/21 15:11ID:dBRW80lN諦めるのはやいなぁ(・A・)
ソースあるならソースをそのまま拝借して、仕様変更に耐えられるように
適当にラッパを作れば何とかなりそうじゃん。
そのソフトウェアが広く(または狭くても)認められれば、作者も
何か手を打ってくれるかもしれないよ。
「認められたもの勝ち」だよ。
0957login:Penguin
04/02/25 16:56ID:xKpEI/8U例えばコマンドでexpectを使うように、Cのソースの中
で対話型プログラム(プロセス)を実行したいのです。
system()で呼び出したプロセスをなんとか制御できない
もんかと思いまして質問いたしました。
0958login:Penguin
04/02/25 17:15ID:Oh46YxgVあれはTclで書いてあったような気がするので、
単純にCから呼べるようにはなっていないと思う。
pipeでがんばれ。
0959login:Penguin
04/02/25 23:35ID:UvNfIzerもともとハードウェア屋さんが何度となく繰り返される実験のために作った言語だから。
http://www.tcl.tk/man/tcl8.4/ の Tcl Libraryってとこ。
Tutorialもどこかにあった。
0960958
04/02/26 00:12ID://0HjKwJいやTclをつっこんでも、expectがそういう使いかたを考慮してないのでは?
と思ってソースとってきたら、libexpectなんてのがありますな。
これ使えば目的を果たせるのでは?>>957
0961login:Penguin
04/02/26 00:36ID:yDLuiwphTclの言語仕様を良く見て貰うと分かるけど、
expect程度の拡張だと、Tclの特徴消せないんだわ。
もちろんcontrolling terminal廻りの注意はする必要があるが。
0962login:Penguin
04/02/27 01:22ID:+++7ZFaPコンソールの方を早くするにはどうしたらいい?
0963login:Penguin
04/02/27 02:44ID:fBM8xqSuIDすげー
0964login:Penguin
04/02/27 02:51ID:sg8IAEvK>>963 も fb と su か・・・
0965login:Penguin
04/02/29 01:48ID:a16y9WaW0966login:Penguin
04/03/07 03:10ID:DkALGUAMそういう俺はC++で数学的な処理をするプログラムしか書いたことがないなぁ。
(一応高校生だもんで実用のになるような範囲しかやらなかったり…)
今度、何か面白いもの作ってみようかな?
0967login:Penguin
04/03/07 12:40ID:9agJ57bm激しく期待age
0968login:Penguin
04/03/07 13:04ID:X6zyXe95http://www.go-mono.com/
http://pc2.2ch.net/test/read.cgi/tech/1020215602/
0969login:Penguin
04/03/10 22:52ID:LEB4/zIK0970login:Penguin
04/03/10 22:59ID:RntBxOoz0971login:Penguin
04/03/10 23:08ID:oRw559Y+・フランス料理
・床暖房
・プロレス
0972login:Penguin
04/03/10 23:56ID:smCT96goありませんか?
カーネルソースのdrivers以下を読めってのは、なしで。
0973login:Penguin
04/03/11 00:02ID:SYphARapLINUX デバイスドライバ O'REILLY
今となってはちと古いね。
第2版出てんのかなー。
(英語版はなぜか WEB で見れたんで wget した)
0974login:Penguin
04/03/11 00:24ID:5HCKPPmLありがとうございます。
にしても高い本ですね。
0975login:Penguin
04/03/11 01:53ID:9Nhtmxoa読んどきゃなんとかなる本ではないから、詠む時は多少気合いを入れてあげてね。
0976login:Penguin
04/03/11 10:21ID:iMmDyNYj974の言う通りオライリはちょっと気合が要ります。
その前にここら辺で肩ならししといてはいかがでしょう。
http://www.mech.tohoku-gakuin.ac.jp/rde/contents/linux/indexframe.html
ちゃんとドライバ書きたいならオライリ持ってる方が良いけどね。
>>973
今はどの本屋にも第2版しか置いてないですよん。
0977login:Penguin
04/03/11 14:16ID:EpkHQQD1ちゃんと馬本から入った方がいいよ
ていうか、あれはオライリーの中で 一番わかりやすい本 だと思うが。
0978login:Penguin
04/03/11 14:45ID:/yDh0VN80979login:Penguin
04/03/14 02:22ID:moAPMrB30980login:Penguin
04/03/14 13:56ID:IRycuJog←仕事で必要のため
皆さん
よろしくお願いします
0981login:Penguin
04/03/14 14:08ID:moAPMrB30982login:Penguin
04/03/14 14:29ID:tGUzSqbT0983login:Penguin
04/03/14 14:33ID:uLDAtGA80984login:Penguin
04/03/14 15:11ID:3VlCq2eB0985login:Penguin
04/03/14 15:14ID:moAPMrB30986login:Penguin
04/03/14 16:02ID:IRycuJogHDD増設しったんですけど
0987login:Penguin
04/03/14 16:04ID:IRycuJog1stドライブがWindowsで50GB使ってるんですがこれがブートセクタの壁ですか?
0988login:Penguin
04/03/14 16:07ID:IRycuJogに入れてます。ちょくちょく弄りたいのでBootディスクは辛いのです
0989login:Penguin
04/03/14 16:07ID:moAPMrB3くだらねえ質問はここに書き込め! Part72
http://pc.2ch.net/test/read.cgi/linux/1078822042/
0990login:Penguin
04/03/14 16:10ID:IRycuJogWINDOWS-5GB位にして直後の基本領域に入れるほかないんでしょうか?
でもWIN再インストールはしたくないんですよねぇ
0991login:Penguin
04/03/14 16:17ID:IRycuJogあとLinux領域とVFATは互換性あるとか聞いたんですが認識しないみたいです
直接的な関係じゃないんでしょうか?
初心者ですみませんが
0992login:Penguin
04/03/14 16:19ID:IRycuJog0993login:Penguin
04/03/14 16:20ID:IRycuJog情報不足ですかぁぁ
0994login:Penguin
04/03/14 16:22ID:moAPMrB3【悪戦】ど素人から初心者への道 3 【苦闘】
http://pc.2ch.net/test/read.cgi/linux/1077400535/
0995login:Penguin
04/03/14 16:22ID:IRycuJogどうかお力をお貸しくださいい
0996login:Penguin
04/03/14 16:24ID:IRycuJog0997login:Penguin
04/03/14 16:26ID:IRycuJog0998login:Penguin
04/03/14 16:34ID:3JwYQZ6z0999login:Penguin
04/03/14 16:35ID:cSNQC/iP1000login:Penguin
04/03/14 16:35ID:3JwYQZ6z10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。