C言語なら俺に聞け 156

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9bb7-/QqT)
垢版 |
2020/09/28(月) 14:41:30.00ID:QxfbhGyV0
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 155
https://mevius.5ch.net/test/read.cgi/tech/1589120427/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/02/05(金) 12:39:42.10ID:1XmQmKI8d
>>736
>>734
2021/02/05(金) 12:52:09.08ID:AV0Gp17OM
>>737
珍しくないと言うなら実例をあげればいいだけ
739デフォルトの名無しさん (ワッチョイ 9fad-MLSE)
垢版 |
2021/02/06(土) 10:12:48.76ID:DFt8vUVO0
mmapってUNIX系OSだけでは?他にもあるかも知れないが互換ライブラリ経由でそのOS固有の同機能のやつ呼んでたりしない?(それで良いなら良いんだが)
2021/02/06(土) 10:51:00.80ID:PohEB++tF
対象をhtmlに限定したのが敗因
2021/02/06(土) 11:26:44.70ID:EjDQT0l8K
>>739
メモリマップトファイル一般を指しての発言じゃないかな、CreateFileMapping()とか含めて。

>>740
たぶんシーケンシャルアクセスで足りるから、read()でええやんってなるよな。
2021/02/06(土) 11:45:50.67ID:zn5WrP4C0
>>739
何が問題なのかよくわからんが?
743デフォルトの名無しさん (ワッチョイ 6f8c-w83u)
垢版 |
2021/02/22(月) 07:04:45.29ID:Xbe4DE+80
どうやったらループを小さくしたり無くしたり出来るのか教えてほしい。
2021/02/22(月) 08:02:42.93ID:NYs90WT8M
べた書き?
printf("hello flat!\n");
printf("hello flat!\n");
printf("hello flat!\n");
2021/02/22(月) 17:21:30.68ID:iIDQLaUs0
標準ライブラリにある処理はなるべく標準ライブラリのを使うとか
ループをまとめて関数に出すとかでいいんじゃないの?
根本的な解決にはならないかもだけど複雑度は下がる
あとはアルゴリズムの改善しかないんやない
2021/02/23(火) 02:48:11.51ID:VIkkm8/qd
>>739
実装は知らんがむしろwinでは頻用すると思う
80'後半くらいに生まれたそろそろ古参なスクリプト言語(Pythonなど)には大体ある
スクリプト故に富豪的に全部載せ
2021/02/23(火) 03:04:42.97ID:VIkkm8/qd
>>743
ループ変数をi, j, kとすれば、int ijk(範囲はi*j*k)とまとめればネストレベル3→1にできるよ
i = ijk/j/k
j = ijk%(j*k)/k
k = ijk%kね
パフォーマンスの利点もある
mo量子化学計算はナイーブには最低4段のforが要求されるんで、かなり重宝
なんで4段をcollapseしたいけど、他人が初見で解釈するのはちょっと無理強いなので控えてる
2021/02/23(火) 03:15:27.68ID:VIkkm8/qd
いや今書いたのも改めて並べるとmodに慣れていと1分くらい考えるか…
二段は簡潔なのでイディオムとして使って良いと思う
i*jを走るループ変数ijに対し、i==ij/j, j==ij%j
ネストは半分になるし可読性もよいので、多分ベストプラクティス

ネストしたループを全てワンライナーで書けるFortranが羨ましい
2021/02/23(火) 03:42:44.91ID:1ia+Vnu00
divもmodもクソ遅いと思うんですがそれは
2021/02/23(火) 04:31:33.75ID:VIkkm8/qd
>>749
ステップ数で考えてたからそういう視点は無かったかも、精々2倍程度だし見落としてた

-o3とかするとベンチ的には速いから最適化とか効いてるんだろうかね?
2021/02/23(火) 04:35:35.49ID:VIkkm8/qd
だからといってわざわざ速い最適化divmod拾ってくるまでの価値も無いし、つまらんハックか
猛省
2021/02/23(火) 08:24:27.89ID:NtDnGIIYK
まあ定数の割り算は掛け算で実装するよな
2021/02/23(火) 12:00:01.73ID:EYNng8zFd
>>752
今アセンブリ見てみたら2147...647=2^32-1を引いて頑張ってる様子が見えた!gcc -O3/win
色々パラメータ弄って様子見ようとしたら普通に割り出したので混乱したが、実行時に与えるとフォールバックするよう
コンパイル時に定数で与えたらそうするっぽい
勉強になった
2021/02/23(火) 12:21:23.56ID:1ia+Vnu00
目安でしかないがx86-64ではmulと比べてdivやmodはレイテンシ2倍どころではない場合が多い

https://www.agner.org/optimize/instruction_tables.pdf

パフォーマンスが重要な場合は除数を定数にするか2の冪にしてシフト/論理積にする
755デフォルトの名無しさん (ワッチョイ 6f8c-Dcdc)
垢版 |
2021/02/24(水) 15:46:51.63ID:/D2VYVJH0
ソフトウェア割り込みプログラムは書けるのか
756デフォルトの名無しさん (ワッチョイ a301-GD1z)
垢版 |
2021/02/25(木) 06:12:34.32ID:R7WVwVFS0
>>755
インラインアセンブラ必須かな
2021/02/25(木) 07:07:20.11ID:bxBNuN1v0
環境次第
組み込み系の処理系だと割り込みハンドラーを書けたり割り込みフラグの制御ができたりするのはよくある
758デフォルトの名無しさん (ワッチョイ a301-GD1z)
垢版 |
2021/02/25(木) 09:55:57.73ID:R7WVwVFS0
>>757
それはC言語仕様には無い特殊な命令。SHのCコンパイラとか。
2021/02/25(木) 19:11:28.17ID:k63j55rm0
VCで作った実行ファイルを
cgiファイルに変える方法て
わからない?
どうしてもc.cgi.exeになって
しまう
2021/02/25(木) 19:17:09.21ID:JLHf2OjdM
>>759
どのHTTPサーバか、どんな設定にしてるかにもよるけど
名前だけ変えればおkじゃねーの?
2021/02/25(木) 20:00:24.23ID:MOr3wCfr0
ファイル名変えておいとくだけなんとちゃうの?
2021/02/25(木) 20:06:31.57ID:ZW7ncKwI0
Windows系サーバーだったら、
実行ファイルc.exeをc.cgiにリネームすれば動くはず
2021/02/25(木) 20:47:45.34ID:yh+1kBamK
そもそもCの話じゃないんだが
>>759
エクスプローラの表示の設定を「拡張子を表示する」モードにすべし

「拡張子を表示しない」のチェックを外す方式だったかもしれん
764デフォルトの名無しさん (ワッチョイ cb01-jB1a)
垢版 |
2021/02/26(金) 03:45:13.89ID:5d4w5oMJ0
>>763
スレチ
2021/02/26(金) 06:57:40.05ID:eCf8RuSVK
//何だよ俺のせいかいw
//じゃせいぜいCだけででがんばりや
#include <stdio.h>
int main() { return rename("c.cgi.exe", "c.cgi"); }
2021/02/26(金) 08:02:43.73ID:M2eccXrmd
renameってstdio.hだっけ?
2021/02/26(金) 09:51:30.74ID:31AFaQsJ0
>>766
stdioじゃよ
2021/02/26(金) 12:12:32.73ID:M2eccXrmd
げ、本当だ
2021/03/15(月) 16:52:25.12ID:XyNDIUjTa
すみません、質問させてください

exturn FUNC(void, define1) 関数名(void)

ってなってるのが、関数のプロトタイプ宣言であることは理解できているのですが
FUNC()の意味が分からないです
define1にはキーワード定義だけされたdefineが入ってます
2021/03/15(月) 17:06:32.77ID:Db4OPSpGM
>>769
それはC言語の文法じゃなくて、あなたのプロジェクト固有のマクロなので、同僚に聞くかgrepしてください
2021/03/15(月) 17:07:39.42ID:XyNDIUjTa
>>770
ですよねー
もう聞くわ
2021/03/16(火) 08:22:50.63ID:7emEuadh0
Cの文法内に収まる FUNC() って

一般C
#define FUNC(ret,opt) ret
Microsoft系のやつ 呼び出し規約まで対応
#define FUNC(ret,opt) ret opt

ぐらいしか想像つかんな それを吸収しようとしてるのかしら?
773デフォルトの名無しさん (ブーイモ MMcb-T0kI)
垢版 |
2021/03/19(金) 19:09:51.97ID:mKZFPhjYM
ret opt の記述順を変えなきゃなんないコンパイラ併用でもしてなきゃ
必然性無いよな
2021/04/25(日) 18:24:42.50ID:1rqnmNJD0
VS2019を使用してます。
c言語でハッシュテーブルを使いたい場合、
定番のライブラリってありますか?
自作は考えてません。
2021/04/25(日) 18:43:09.76ID:f5CNtQYv0
C++ hashクラスを使う
C 自作する

スキな道を歩もう
2021/04/25(日) 19:49:36.36ID:bD1toMMoM
Cにはない
多少は作るに該当するが、GPL汚染気にしないならhlist(list.h)かいっそのことrbtree引っ張ってくるのが楽
hlistは覚えてないがfreeBSDにもlist_headはあったと思うから雑に書いて作れる
2021/04/25(日) 20:00:40.49ID:1rqnmNJD0
>>775-776
ありがとうございます。
2021/04/26(月) 17:39:11.35ID:BhPjOTnw0
境界調整について教えて下さい
typedef struct stru{
int inta;
char ch;
double db;
} Str;
という構造体を作って、
Str st = {10 , 'n' , 5.20};

printf("構造体全体の大きさは %dバイト アドレスは %p \n", sizeof(st) , &st);
printf("inta の大きさ %dバイト アドレスは %p 値は %d \n", sizeof(st.inta), &st.inta , st.inta);
printf("ch の大きさ %dバイト アドレスは %p 値は %c \n", sizeof(st.ch) , &st.ch , st.ch);
printf("db の大きさ %dバイト アドレスは %p 値は %lf \n", sizeof(st.db) , &st.db , st.db);

としたところ、

構造体全体の大きさは 16バイト アドレスは 0019FF2C
inta の大きさ 4バイト アドレスは 0019FF2C 値は 10
ch の大きさ 1バイト アドレスは 0019FF30 値は n
db の大きさ 8バイト アドレスは 0019FF34 値は 5.200000
という結果が得られたんですけど、この中で
0019FF30から1バイト分には'n'という値が入っていて、
0019FF34から8バイト分には5.200000という値が入っているわけですよね?
では0019FF31から0019FF34までは何があるの?
2021/04/26(月) 17:55:49.95ID:NyQKOVd9d
何もない
2021/04/26(月) 18:15:58.84ID:IaPVNFDHa
ごみ
2021/04/26(月) 18:21:46.90ID:uqOlgHvIM
>>778
何があるかわからないしむりやり読んだら何が起こるかわからない

ってことになってる
2021/04/26(月) 18:27:06.04ID:4kXIzh+CM
>>778
ファイルに書き出してバイナリダンプ
gdbでx

見ても大したことない
2021/04/26(月) 18:28:20.87ID:BhPjOTnw0
その領域はとにかく使えないって事なんすかね。
2021/04/26(月) 18:31:26.64ID:NyQKOVd9d
そうなんです
2021/04/26(月) 18:32:08.60ID:TR73VE240
使いたいならchの後にcharを3つ作ればいいじゃない
2021/04/26(月) 20:06:39.04ID:fVzcGJCCa
>>778
__attribute__ ((packed))
2021/04/26(月) 20:43:03.58ID:+l9LtKe60
#pragma pack(push,1)
>>778
#pragma pack(pop)
2021/04/26(月) 22:14:43.60ID:BhPjOTnw0
またいつの間にかレスが。
>>784
それもありか。なるほど。

>>786,787
そういうのがあるんですか。入門書なんかには出てこないよね、それw
教えていただきありがとです
2021/04/26(月) 22:16:02.71ID:BhPjOTnw0
>>784>>785だった
790デフォルトの名無しさん (ワッチョイ 4dda-vrNx)
垢版 |
2021/04/26(月) 22:20:18.66ID:fe3Q/YJ30
訓練でC言語を習っています。
就職先としてはJAVAの客先常駐になると思うのですが、
C言語も習う以上はある程度使えるようになりたいと思っています。
ポインタが難しいとよく見るのですが、勉強になるウェブサイトが
ありましたら教えてください。
もしくはポインタだけの参考書があるようなのですが、
それを買った方が良いですかね?
2021/04/27(火) 06:03:07.86ID:RrDgDJ6XM
ゆとり?
技術的な内容ならまだしも学習方法や心構えまで他人に丸投げするのは職業人の姿勢として如何なものか
2021/04/28(水) 18:46:29.71ID:7AKt1vSf0
そういう時代
熱くなるな

PCを持ってないような人がソフト開発者として面接に来るような時代
2021/04/28(水) 21:52:06.89ID:PZc7df0ca
Cで Windows、Linux、macOS のすべてで動作するコンソールアプリを作りました
標準のライブラリのみを使用していたつもりでも、知らずにGNU拡張を使用していたり、若干の移植の障害はありましたが、それほどではありませんでした
同じようなことを C++ でやろうとした場合、Cより難しくなりそうでしょうか、そうでもないでしょうか
C++ でやるからには STL は使いたいです
2021/04/28(水) 22:44:05.13ID:7AKt1vSf0
同じようなもんじゃない?
2021/04/28(水) 23:21:11.19ID:PlZRAN+K0
言語仕様としてのGNU拡張は使ってもライセンスに触れないよな?
触れるのはライブラリ使用した場合じゃないか?
2021/04/28(水) 23:35:23.05ID:4KD2riuz0
コンパイラ独自の拡張であってポータビリティに欠けるってだけで
それ自体がGNUライセンスに引っかかるわけではない
2021/04/28(水) 23:56:50.52ID:sVhsMckNM
>>790
・格納先を渡す(普通のポインタ
・callee alloc(二重ポインタ
・関数ポインタ
これだけ分かってればいいというか、仕事でならこの範囲だけにしとけ
2021/04/29(木) 00:15:24.35ID:T1kQSA270
意外と引っかかるのは、複雑な変数宣言を読み解くこと
2021/04/29(木) 10:41:18.72ID:8DhczGXra
ご意見ありがとうございました
やはり、掛かる手間は同じようなものですかね
2021/04/29(木) 11:08:27.39ID:1rAkIDNr0
基本文法を憶えたら何かまとまったアプリを作んないと
ただ言語そのものを習ってそれっきりだと忘れるだけだぞ
2021/04/29(木) 13:50:03.41ID:56IZFSRD0
所詮は道具だし、使わないと忘れる
2021/04/29(木) 16:32:35.09ID:q0JKcoqRH
>>793
C++11 以降は、例えばスレッド制御・ファイルシステムをライブラリに取り込む、など積極的に環境依存が少なくなるように動いている(ように私には見える)ので、多分移植はもっともっと易しくなる、と思います、失礼、易しくなる気がしないでもありません‥‥
2021/04/29(木) 16:39:37.88ID:q0JKcoqRH
>>790
「新・標準プログラマーズライブラリ C言語 ポインタ完全制覇」前橋 和弥著
https://www.%61%6d%61%7a%6f%6e.co.jp/dp/B077ZTQY62/
ポインタを完全制覇してくれる本だそうです、私も興味があったのでポチりました‥‥
2021/04/29(木) 16:48:12.19ID:loQVmfSpa
>>802
ありがとうございます
そんなこともあるのかなと、淡い期待もしつつ… でした
2021/05/02(日) 15:45:22.42ID:LfIZA/yy0
cについてほとんど知らないけど、組み込みがメインな感じですか?
2021/05/02(日) 15:56:09.60ID:/1wJlD5g0
システムプログラミングの方が多いんでない?元々それ用だし
OSのインターフェース提供はどこもC
2021/05/02(日) 16:01:37.32ID:VAfyzxcR0
パソコンでも低レイヤ (カーネルとかデバイスドライバとか) は C で書くことも珍しくはないし、
アプリケーションのめっちゃ速度が重要なとことかは C で書いたほうがチューニングしやすい。
言語処理系なんかはだいたい C か C++ で実装されるよ。 (Python とか Ruby とか Perl とか。)

ハードウェアの都合に合わせたチューニングが必要なところはパソコンにもまだまだ有って、
割合で言えばそれほど多くは無いけど、
絶対数で言えば組み込みで C が使われるよりはパソコンで C が使われるほうが多いと思う。
(数値的な根拠があるわけじゃなくて私の印象だけど。)
2021/05/02(日) 16:46:12.37ID:3j0DSsAI0
これからはカーネルドライバもRustで書こうぜ
2021/05/02(日) 18:40:43.65ID:r2Ed4Ypi0
>>808
だからメモリ割り当てでABENDするような言語系を
カーネルで使えるわけないでしょw

2021年4月15日 パニックお断り―Linus,"Rust for Linux"の盛り上がりに釘を刺す:Linux Daily Topics|gihyo.jp … 技術評論社
https://gihyo.jp/admin/clip/01/linux_dt/202104/15
2021/05/02(日) 20:01:40.03ID:3j0DSsAI0
>>809
だいじょぶだろ
そのうちなんかキャッチする機構とか実装すんだろ
そしたらLinusもニタニタしながら受け入れるよ
2021/05/02(日) 22:32:14.89ID:r2Ed4Ypi0
>>810
んじゃ、そうなってから>>808みたいなことは言おうねw
狸が逃げるよw
2021/05/03(月) 12:38:32.98ID:2qlH4pSsM
>>811
まさにそうする話がもまいの提示した記事に書いてあるんよ
2021/05/07(金) 21:44:15.09ID:vGOhdVnf0
>>811
https://www.tag1consulting.com/blog/interview-linus-torvalds-linux-and-git

「Rustなー、まあそのうちわかるんじゃねーの?
 コアはねーだろうけどドライバならいんじゃね?
 C言語の置き換えっつーよりCの補佐的な?」
って言ってるし、これ読む限り Linusもだいぶ前向きじゃん
814デフォルトの名無しさん (ワッチョイ be46-Rb4A)
垢版 |
2021/05/08(土) 20:10:13.24ID:jbZm9MmR0
github.com/bear24rw/alsa-utils/blob/master/aplay/aplay.c :135行
static off64_t pbrec_count = LLONG_MAX, fdcount;

static off64_t pbrec_count = LLONG_MAX;
と書かれていない理由を400字以内で述べよ。

ちなみに、我が家では LLONG_MAX値 == fdcount値 です。
2021/05/08(土) 22:16:59.18ID:4nIz2VjA0
しらねえ。
     ↑
   5文字目
816デフォルトの名無しさん (アウウィフ FF1f-dxvU)
垢版 |
2021/05/09(日) 13:32:52.94ID:WMytKT+1F
>static off64_t pbrec_count = LLONG_MAX, fdcount;
>が
>static off64_t pbrec_count = LLONG_MAX;
>と書かれていない理由を400字以内で述べよ。

知らんがな

>static off64_t pbrec_count = LLONG_MAX, fdcount;
>が
>static off64_t pbrec_count = fdcount;
>と書かれていない理由を400字以内で述べよ。

書いた香具師に聴け
817デフォルトの名無しさん (ワッチョイ 5a81-2aW8)
垢版 |
2021/05/25(火) 13:13:50.22ID:0e19GInL0
int (**c)[];

int *(*e[]);
の意味がわからずに困っています。
ちなみに二つとも意味がわかりません。これらは同じものなんでしょうか?
2021/05/25(火) 13:28:28.93ID:d4PPfL2v0
cはint配列へのポインタへのポインタ
eはintポインタへのポインタの配列で、丸括弧は不要
cとeは同じではない
2021/05/25(火) 13:33:48.93ID:tg9vUr3N0
ややこしそうなのは途中に strust や typedef 使って先送りにする
2021/05/25(火) 13:37:45.63ID:tg9vUr3N0
struct
2021/05/25(火) 13:44:44.11ID:7uNVaR2o0
ポインタ変数定義に()が付くと理解が困難になる・・・。
2021/05/25(火) 13:50:25.07ID:mW0d20UP0
より複雑な宣言子の解釈

https://docs.microsoft.com/ja-jp/cpp/c-language/interpreting-more-complex-declarators?view=msvc-160
823デフォルトの名無しさん (ワッチョイ 5a81-2aW8)
垢版 |
2021/05/25(火) 13:57:49.19ID:0e19GInL0
>>822
これが一番わかりやすかったです。
ありがとうございました。
2021/05/25(火) 19:01:00.19ID:5zVTpare0
小生使う機会ないんでそんな複雑な記述の経験ないし機会あっても出来る自信ないのだけれど、アセンブラで書くと縦長になるソレを横に圧縮したC言語って、ホント効率落とさず物臭する為の記述だよね。
(アセンブラよりは)安全だし。
2021/05/25(火) 21:20:58.20ID:d4PPfL2v0
ケントンプソンの面倒くさがりをデニスリッチーが後継した高級アセンブラ
826デフォルトの名無しさん (ワッチョイ 765f-baYp)
垢版 |
2021/05/25(火) 21:26:46.44ID:mNrV1IEb0
cdecl で説明してもらえば?
827デフォルトの名無しさん (ワッチョイ 765f-baYp)
垢版 |
2021/05/26(水) 09:42:42.04ID:mfYAtZMN0
pkg install cdecl すると,c++decl -> cdecl しかsym-linkしてないので
手動でexplain -> cdecl cast -> cdecl declare -> cdecl もいれておいた.
で,
explain 'int (**c)[]'
declare c as pointer to pointer to array of int

explain 'int *(*e[]);'
declare e as array of pointer to pointer to int

と説明された.
2021/05/26(水) 11:19:17.43ID:2/BE6bBSF
>>817-818
++c; // ← Error
++e; // ← OK

説明してみ?
829デフォルトの名無しさん (エムゾネ FFba-4Cki)
垢版 |
2021/05/26(水) 11:21:32.69ID:2/BE6bBSF
ああ間違えたω
>>817-818
++c; // ← OK
++(c[0]); // ← Error
++e; // ← OK
++(e[0]); // ← OK
2021/05/26(水) 12:07:18.36ID:DNuuAFHS0
++eがOKなわけねえだろw
2021/05/27(木) 10:47:37.95ID:kQVwJQto0
ID:2/BE6bBSFは逃げたかw
まあ逃げたくもなるよな
あんな赤っ恥w
2021/05/27(木) 14:56:50.43ID:UXlES6Sbd
typespecifer declarator-initializer;
と実質的に型を決める文法要素が二分されてるのがイケてないとは思う
=で示されるinitializerまたは代入式の右辺でアサインされる対象が左辺そのものでなく、declaratorの識別子部分なのも=の意味論(等しくする)に合ってないよなあ

まあ慣れるんだけど
2021/05/27(木) 15:03:11.46ID:UXlES6Sbd
関数ポインタと配列とポインタが入り交じるようなときは、各部分毎にtypedefして、数行に分けて型を組み立てるのがよいと思う
2021/05/27(木) 15:08:30.66ID:UXlES6Sbd
c23では宣言(というか殆どの構文)に付けられるattribute([[attr]])が入るけど、これ改造して[[type]] identifier;の形で宣言するように(仕様上は)できるよね
c23以降の規格で取り入れられないかな?
2021/05/28(金) 01:02:59.83ID:7zb2zdx50
基本情報で分からないとこあるんで教えてください。。
Cに入るのがなんでキなんでしょうか
p→coursenameはポインタだから、出力する時は*p→coursenameにすべきでは無いでしょうか
https://i.imgur.com/8Lp9aMx.jpg
https://i.imgur.com/DgNEbGT.jpg
https://i.imgur.com/xvvs1oJ.jpg
https://i.imgur.com/3bG8iC8.jpg
https://i.imgur.com/qHhb9jj.jpg
2021/05/28(金) 03:00:31.68ID:EK8Kl+z60
>>835
文字列を出力したいならフォーマット指定子は%s、第3引数以降で渡すのは先頭アドレス
*p->courseNameじゃアドレスじゃなくて先頭の1Byteになっちゃう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況