68user's page 掲示板

Prev< No. 421〜450> Next  [最新発言に戻る] [過去ログ一覧]
No. 421 # かんじゃ@C修行中 [E-mail] 1999/08/16 (月) 10:35
>> seg fault のメッセージが表示されてうまく実行できません。
> 現在、手元には その本もUNIX環境もないので、確かなことは
> 言えませんが、どこかで char *buf="abc" などと初期化して
> いる部分があると思います。・・・以下省略

さっそくのご教示ありがとうございます。
以上参考にさせていただき、さらに修行していきます。

No. 422 # mm 1999/08/20 (金) 22:54
文字列リテラルは、昔のCでは、結構普通に書き換えたりしてたみたいです。
unixの古いccのライブラリでも、この書き換えをやっているという話を聞いたことがあります。
(聞いたのは、一時ファイルの名前を作るライブラリ関数だったような…)
ANSI C以前は、自動変数の場合には、配列の初期化ができなかったために、
便宜的に利用してたのかもしれません。それとも、スタックに文字列を確保しても、
これを関数の呼び出し元に返すことはできないので、mallocを使う代わりに
静的領域を利用してたのかな…にしても毎回同じ領域が使用されるので、
static にすれば済むことって気も…?

いずれにしても、ROM化やコンパイラが同じ文字列リテラルを共用させるために、
ANSI C以降は、文字列リテラルの変更は未定義とされたようです。

No. 423 # 68user 1999/08/27 (金) 06:31
> いずれにしても、ROM化やコンパイラが同じ文字列リテラルを共用させるために、
に加えて、複数プロセスでデータセグメントを共有させるため、
例えば ls を並行して2個実行した場合、スタックとヒープは
2個用意されるが、データセグメントは1個しか用意されない、
と思ってるんですが、全然違うかも。
# アセンブラやってないんで、ここらへん いまいち感覚的に理解できない。

No. 424 # mm 1999/08/28 (土) 01:31
>に加えて、複数プロセスでデータセグメントを共有させるため、
DOSが長いもので、マルチプロセスのメモリ管理はよく分からないです(苦笑)。

>例えば ls を並行して2個実行した場合、スタックとヒープは
>2個用意されるが、データセグメントは1個しか用意されない、
とすると、文字列リテラルだけでなく、静的な変数まで共有される
訳ですよね。
素人考えでは、ホントにそれで良いの?と思っちゃいます…
例えば、コマンドラインオプションで設定されるフラグが
グローバル変数だったりすると(あり得ますよね)、前後のlsの
オプション指定が異なる場合に、先のlsのフラグまで影響を
受けちゃうおそれがないのかなぁ…?

No. 425 # 68user 1999/08/28 (土) 07:40
すいません、よく考えずに適当なことを言ってしまいました(^^;
では、2個のlsで共有される領域は何だろう?

No. 426 # mm 1999/08/29 (日) 03:27
>では、2個のlsで共有される領域は何だろう?
うーん、unixのメモリ管理はよく知りませんです(苦笑)

No. 427 # すず [E-mail] 1999/09/10 (金) 14:11
ここすごいですねっ!内容がすごく充実しててびっくりしました。<BR>
分からないことがあったら来てみようと思います。<BR>
ところで質問です。<BR>
○○○.zip のようなファイルはどうやって解凍すればいいのでしょうか?<BR>
gzip -d とか uncompress も試してみたけど、やっぱりだめでした。<BR>
UNIXでは解凍できないんですか?

No. 428 # 68user 1999/09/10 (金) 20:03
> ここすごいですねっ!内容がすごく充実しててびっくりしました。
ども。ついさっき更新しましたのでよろしく。
    http://X68000.startshop.co.jp/~68user/unix/history.html

> ○○○.zip のようなファイルはどうやって解凍すればいいのでしょうか?
unzip、zipなどのコマンドがあります。unzip -l hoge.zip で一覧表示。
unzip -e hoge.zipで展開です。

No. 429 # ge 1999/09/13 (月) 11:53
私もここのファン(?)ですが掲示板の投稿は初めてです。早速ですが、UNIXのコマンドについて教えて下さい。

su - username
この時のハイフンはどんな意味を持つのでしょうか?

No. 430 # 68user 1999/09/13 (月) 14:07
FreeBSD の su ならば - は -l と同じです。
    マニュアル:
        http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=su&dir=jpman-3.2.0%2Fman
    ソース:
        http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/su/su.c?rev=1.29.2.2
多分他のUNIXでも同じだとは思うけど、確信はありません。

No. 431 # ge 1999/09/16 (木) 14:13
ありがとうございます。
ご教示の通り、 - と -l は同じでした。

No. 432 # tetsuya 1999/09/20 (月) 05:45
WindowsでFTPサーバのソフトを作成したいのですが、
よくわかりません。UNIXの場合は拝見させて頂いたのですが
winの場合はちょっと違うみたいでして・・・。
宜しければレスお願い致します。

No. 433 # 68user 1999/09/20 (月) 15:50
すいません、Windows環境は持ってない&使ってないので
わかりませんです。

# FTPクライアントではなくて、「FTPサーバのソフト」なんですか?
# いわゆる ftpd を作成されるのですか?

No. 434 # tetsuya 1999/09/20 (月) 19:27
>FTPクライアントではなくて、「FTPサーバのソフト」なんですか?
>いわゆる ftpd を作成されるのですか?
はい、ftpdです。1ヶ月ほど前より悩んでおります。
RFC日本語版やら、winsock本を読んでいるのですが、
どうしてもFTPportが開いてくれないのです。
>すいません、Windows環境は持ってない&使ってないので
>わかりませんです。
いえいえ。私もわからなかったので、ご存知かと思いまして
質問しました。有難う御座いました。また悩み続けます(^^;)。

No. 435 # 68user 1999/09/20 (月) 19:31
echoサーバのような単純なサーバではうまくいってるんでしょうか?
まずはそういう簡単なサーバを作りながら winsock を理解しては
どうでしょう。
# winsockを知らない人間が言う言葉ではないな(^^;
## 既にやっておられたらすいません。

No. 436 # tetsuya 1999/09/21 (火) 04:21
>## 既にやっておられたらすいません。
全くやってなかったですが、今、ソースは見つけました。
http://www.macnica.co.jp/soft/prog/win_echo.txt
こういうので良いのでしょうか?

>まずはそういう簡単なサーバを作りながら winsock を理解しては
>どうでしょう。
了解しました。echoサーバっていうのは、サーバーにあるMSGを
送るとそのMSGを送り返してくる機能を持ったものみたいですね。
調べてみました。ちょっとソースを理解してみます。
有難う御座いました。

No. 437 # 68user 1999/09/22 (水) 00:03
> こういうので良いのでしょうか?
そういうのです。

それで Winsock 上での socket・bind・listen・accept を覚えてから、
ftpd を作る、と。最初からコネクション2本な ftpd にチャレンジする
よりは簡単だと思います。

No. 438 # tetsuya 1999/09/22 (水) 02:22
有難う御座いました。
頑張ってみます。

No. 439 # 1999/09/22 (水) 16:50
UNIXでフロッピーディスク(FD)に書き込んでWindows98で読み込む事が出来るのですか。
またその逆はできるのですか。できるとしたらどのようなファイルが出来るのですか。
教えて下さい。

No. 440 # 68user 1999/09/23 (木) 02:05
# Who are you?

UNIXで書いてWinで読む、Winで書いてUNIXで読む、両方できます。

UNIX/Win の両方から読める形式は、FAT ファイルシステムというものですが、
Windows で普通にフロッピーをフォーマットすれば FAT になります。

UNIX でフロッピーを見る場合は mount という作業が必要になります。
FreeBSD の場合はこちら。
    http://www.jp.FreeBSD.ORG/QandA/HTML/350.html
他の UNIX 系 OS でも似たようなもんだと思います。UNIX からの
読み込み・書き込みは、ふつーに cp・mv・エディタなどで /mnt
以下のファイルを操作すればいいでしょう。

あるいは UNIX からフロッピーにアクセスする際には、mtools を使う
という手もあります(たしか mount は必要なかったような)。

No. 441 # なか 1999/09/23 (木) 17:13
始めまして
始めてここにきました。
ア!? だから始めましてなんですね^^;;
偶然検索していて見つけました。
今日はとってもお勉強になりました。
また、ちょくちょく来ますです♪
頑張ってくださいね。
敬具。

No. 442 # 塩蔵 [E-mail] 1999/09/24 (金) 17:44
はじめまして、塩蔵です。
すごく充実した内容ですね。
UNIX初心者の僕としましては、びっくりです。
突然ですが、質問あります。
EUCコードで、全角Aは、16進でa3c1となるんですが、
あるファイルに全角Aを書いて、
odコマンドで、”od −x ファイル名”を実行すると、
c1a3と表示されてしまいます。
なぜ、EUCコードで、全角Aは、16進でa3c1であるのに、
c1a3と表示されるのでしょうか?
それとも、odコマンドの使い方が間違ってるのでしょうか?
お願い致します。

No. 443 # 68user 1999/09/24 (金) 19:11
> c1a3と表示されてしまいます。
    http://www.cs.gunma-u.ac.jp/~j5306050/net/c-http-1.html
に少し書いてありますが、バイトオーダーの違いです。

試してみると、Pentium のようなリトルエンディアンマシンでは c1a3、
Sparcのようなビッグエンディアンマシンでは a3c1 になりました。

しかし、バイトオーダーを意識させるダンプコマンドってのは
アリなのかなぁ…?

No. 444 # 68user 1999/09/25 (土) 06:57
システムリプレイス時のトラブルで、24日朝〜25日23時の間の
メールが全部消えてしまいました(25日21時にPOPを覗くと数十通
あったけど、その分が全部消えてしまった)。

「alloc:/ file system full」な方と、出版社の方、
申し訳ありませんが、もう一回メール下さい。

多分私信はその2通だけだったと思うけど、他にメール出してた方が、
いらっしゃいましたら、すみませんが再送して下さい。

No. 445 # 68user 1999/09/25 (土) 07:07
日付を間違えてた。
    システムリプレイス時のトラブルで、24日朝〜24日23時の間の
    メールが全部消えてしまいました(24日21時にPOPを覗くと数十通
    あったけど、その分が全部消えてしまった)。
です。

No. 446 # j7306054 まつうら 1999/09/26 (日) 00:39
こんにちわ。
自分のページにカウンターを置きたいのですが、
fluteでCGIは使えますか?掲示板は可能なんですが
他から取ってきたカウンタはエラーが出て良く分からないんです。
ここにあったカウンターもいただきましたが、どう変更して、どのようなファイルをどう置いたらいいのかよくわかりません。助けてください。

No. 447 # 68user 1999/09/26 (日) 00:57
> fluteでCGIは使えますか?
使えます。勝手に覗かせてもらいましたが wwwcount.cgi の内容が変です。
コマンドライン上から
    % perl -c wwwcount.cgi
とすると、
    Unmatched right bracket at wwwcount.cgi line 75, at end of line
    syntax error at wwwcount.cgi line 75, near "}}"
    wwwcount.cgi had compilation errors.
となります。改行コードの問題でしょうか?
最初からもう一度転送しなおして下さい。少なくとも
    % perl -c wwwcount.cgi
でエラーが出る状況では、CGI経由でも絶対に動きません。

> ここにあったカウンターもいただきましたが
うちのは設置手順がめんどくさいので、お勧めしません :-)

No. 448 # まつうら [E-mail] 1999/09/26 (日) 04:58
できました。自宅のパソコンでダウンロードしたものを
学校に転送してやると、やはり改行コードがおかしくなってるようでした。
結局、学校の端末からもう1度作り直しました。
さすがプロ!ありがとうございました(笑)

No. 449 # まつい 1999/09/29 (水) 23:57
こんにちは。

新しいサーバーを構築して、そのサーバーに現サーバーの
/etc/passwd と /etc/shadowファイルを移行したいので
すが、試しに1つだけ /etc/passwd をそのまま移して(
group,ホームディレクトリ、シェルのパスは変えました。)
、/etc/shadowはそのまま現サーバーの/etc/shadowを移し
ました。

そのあと、
> pwconv
> creatiadb
として、メールを送受信してみたのですが、ログインは認識
しているようなのですが、パスは認識してくれないようです。

何か、他にやる事が有るのでしょうか?
よろしくお願いします。

No. 450 # 68user 1999/09/30 (木) 00:57
Linux ですか? 僕は FreeBSD 以外知らないのですが、

> パスは認識してくれないようです
これは、「ログインシェルが認識されない」という意味ですか?
あるいは「パスワードが認識されない」という意味ですか?

前者なら、一般的な UNIX では、ログインシェルとして使う
シェルは、事前に /etc/shells にフルパスで書いておく必要が
ありますが、それはいじりましたか?

後者ならわかりません。もちろん現サーバのパスワードを
入力したんですよね? あとLinux って、デフォルトではシャドウ
パスワードを使わないそうですが、新サーバのそこらへんの設定は
しました?

Prev< No. 421〜450> Next  [最新発言に戻る] [過去ログ一覧]