Linuxプログラミング
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001login:Penguin
01/09/02 20:31ID:8eEfRqZ20809login: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でしか使えないみたい。
レス数が900を超えています。1000を超えると表示できなくなるよ。