C言語なら俺に聞け 154

■ このスレッドは過去ログ倉庫に格納されています
2020/01/14(火) 19:32:30.16ID:SgRnb4BR0
!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言語なら俺に聞け 153
https://mevius.5ch.net/test/read.cgi/tech/1566050562/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
272デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
垢版 |
2020/02/02(日) 15:30:01.89ID:w7N5c9rM0
>>270
0.1は1番目に点がある1だから1と1で表せる
273デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
垢版 |
2020/02/02(日) 15:36:23.54ID:w7N5c9rM0
少数点以下の整数と小数点以上の整数でも表せる
2020/02/02(日) 15:38:49.63ID:anvSpfnfM
機械語なら商と剰余はたいていいっぺんに計算できるけど、Cからそれらの機械語が使われると期待していい書き方ってどうすればいい?
10年来の疑問
275デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
垢版 |
2020/02/02(日) 15:40:29.20ID:w7N5c9rM0
Cのライブラリーにいっぺんに計算されるやつがある
2020/02/02(日) 15:42:13.13ID:lNG3EL+m0
小数と少数を間違えないで
2020/02/02(日) 15:45:20.77ID:Rn0kkYyt0
>>267
>>いいえ、値の保持と計算はずっと 2 進+固定小数点のままで行い、人間に値を見せるときにはじめて 2 進→ 10 進変換を実施します

>>271
>丸めは計算ごとに適用されるんだよ、馬鹿。

そうか、確かに私にも落ち度がありました、2進整数+固定小数点ならば、丸める桁まで 10 で割り続けて余りを求める必要がありますね、これはほとんど2進→10進変換といっていいですね
しかし、全桁を 2進→10進する必要はなく、丸める桁までで 2 進→ 10 進するだけでいい

x86-AMD64 では 8086 時代の BCD 補正命令は全部なくなってしまったことから考えても、「Decimal」型は整数+小数点位置なんじゃないかな…
2020/02/02(日) 16:00:27.23ID:SWo7Ruqh0
>>252
鳥頭をそのまま返す

すまんが俺は介護人でも保育士でもない
おまえの相手は疲れすぎる
2020/02/02(日) 16:24:08.92ID:VqF3mFhWM
>>275
ポータブルなやつを頼む
280デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
垢版 |
2020/02/02(日) 16:27:09.95ID:w7N5c9rM0
>>279
標準ライブラリーだからポータブル
2020/02/02(日) 16:40:10.12ID:gkoi3ncld
>>277
IEEE754にも10進数があるから見てみれば
2020/02/02(日) 16:50:09.63ID:VB3p6sP1M
>>278
で、あんたの言ってる誤差ってなんなのさ
説明できないの?
2020/02/02(日) 17:00:29.36ID:SWo7Ruqh0
>>282
説明はもうしたんだよ鳥頭野郎
てめーで過去レス探せ

他のやつにじゃなく
おまえさんにレスアンカーつけて書いたぞ
2020/02/02(日) 17:03:20.75ID:lNG3EL+m0
円周率は概ね3です
2020/02/02(日) 17:20:36.09ID:VB3p6sP1M
>>283
あんたの言ってる誤差は循環小数云々の誤差ということでいいのか?
2020/02/02(日) 17:52:51.69ID:8cBiUpXt0
盛り上がってるなー。
が、なんか思ったのと違う進行。。
2020/02/02(日) 18:01:39.53ID:lNG3EL+m0
>>286
軌道修正してくれたまえ
このままでは銀河系脱出してしまう
2020/02/02(日) 19:18:27.60ID:825maVGz0
>>219
そりゃーC言語よりも古いCOBOLがあるもん
銀行案件は全部そっち任せだろ

だからそういうライブラリを発達させる必要が無かった

COBOL最盛期がいつかは知らんがきっとIBM最高益の時代あたりだろ
2020/02/02(日) 20:44:43.11ID:F6yWVrL10
>>274
普通に書けば最適化してくれる場合もある。
とりあえず gcc -O2 とやってみた。

extern int w,x,y,z;
void foo( void) {
y = w / x;
z = w % x;
}

int bar( int x,int y){ return x / y + x % y;}
2020/02/02(日) 20:51:51.61ID:gkoi3ncld
割り算は遅い
スーパーコンピュータでも遅い

定数の割り算で済む所は定数に
並列化可能ならSIMD命令で複数一気に
2020/02/02(日) 20:55:57.98ID:SWo7Ruqh0
>>285
まあそういうことだ
おまえさんにとっての関心事に関係するかどうかは知らん

さっき言ったとおり、俺は保育士じゃないんで他人ん家の坊ちゃん嬢ちゃんは扱えない
プラレールだかリカちゃんだかの相手はしてられない
2020/02/02(日) 20:57:05.76ID:SWo7Ruqh0
>>290
タンジェントは遅いか?
べき乗は遅いか?
2020/02/02(日) 23:53:32.36ID:gkoi3ncld
タンジェントもべき乗も遅いけど
使う頻度的には割り算より圧倒的に少ないし
見るからに遅そうだから気を付けるだろう

割り算や余りは手軽に使いがちで遅い
例えばSkylakeでは加減乗算の100倍くらいかかる

割り算と余り両方使うなら
以下のように書いた方が良い

c=a/b;
d=a-c*b;

除算命令を2回呼ぶことはなくなるし
bが定数なら乗算に置き換えてくれる
ライブラリだとbが定数でも除算命令を使ってしまうと思う
2020/02/03(月) 07:43:30.26ID:0n0692Cx0
除算が遅いってのは常識だな
浮動小数点数演算の話だが2回以上同じ数で割るなら逆数を取っておいてそれを掛けろと習ったわ
そもそも浮動小数点数演算が圧倒的に遅いから可能な限り整数型で済ませろとも
2020/02/03(月) 08:16:49.22ID:vFO4eQ5PM
どこでそんなこと習うんだ…
2020/02/03(月) 08:20:37.59ID:e9E2NTEb0
浮動小数点が圧倒的に遅いかどうかはCPU次第
PCなら速いし
CPUに命令がなければソフトウェア実装になるので遅い
この場合、当然floatよりdoubleの方が遅い
(floatもdoubleも32bitの環境もあるけど)

浮動小数点の割り算は
定数であれば1個でも逆数をかける方が良い
x / [定数] と x * (1.0/[定数])
で値が異なることがあるため、最適化してくれない場合がある
2020/02/03(月) 08:22:21.52ID:m5kUFkC70
割り算と余りを一回で計算できる命令がCPUにはあるのよ
2020/02/03(月) 08:27:41.12ID:e9E2NTEb0
浮動小数点が圧倒的に遅いといっても
使い所では使った方が良い
速度が関係ない所では
無理やり整数演算に直すデメリットの方が多い

>>297
除算が圧倒的に遅いから>>293でもほぼ同じ
定数であることまで考えると>>293の方が良い
2020/02/03(月) 08:36:20.54ID:m5kUFkC70
割り算が100倍掛かるって嘘じゃない?
調べたら掛け算より少し遅いくらいだけみたいだけど
2020/02/03(月) 09:47:15.11ID:x3IhE4UHM
浮動小数点の除算はニュートン法使うからそれほど遅くない。乗算の数倍程度。
整数の除算は基本的に高速化できないのでだいぶ遅い。
整数でも定数で除算すると逆数の乗算プラス補正で実装されるので速い。
アセンブリ出させて見てみるべし。
2020/02/03(月) 11:19:33.45ID:m5kUFkC70
こんなホームページ見つけた
https://stackoverflow.com/questions/2550281/floating-point-vs-integer-calculations-on-modern-hardware
2020/02/03(月) 12:43:23.75ID:jOrmfTQLd
instlatx64でSkylakeの64bit命令の
スループットを見ると

IDIVはフルビットで95クロック
ADDは0.33, IMULは1クロック
AVX命令だと乗算や積和も0.5クロック

遅くて使われなくなったFSINが130クロックだから
遅さがわかると思う

コンパイラはなるべくこの命令を使わないで済むように
また使う回数をなるべく減らすよう工夫するんだけど
標準ライブラリの場合はIDIVを無条件で使ってしまう
2020/02/03(月) 12:49:05.54ID:jOrmfTQLd
浮動小数点だと差はちょっと縮まる

加減乗算と積和は0.5クロック
除算は倍精度スカラーで4クロック、ベクタで8クロック

倍精度浮動小数点の積和演算が4個同時に出来る命令が
毎クロック2個ずつ実行出来るのに
ただの整数除算1個が95クロックもかかる

遅さがわかるでしょ?
2020/02/03(月) 12:52:56.44ID:m5kUFkC70
100倍掛かるなら100倍時間掛かるはずでしょ
そんなわけ無いじゃん
305デフォルトの名無しさん (アウウィフ FF21-0Ybi)
垢版 |
2020/02/03(月) 13:50:54.22ID:62FLJlSTF
パイプラインですね判りますω
2020/02/03(月) 15:12:48.45ID:TXSv3nXz0
除算器をパイプライン化することで
スループットは上げられても
レイテンシは変わらないかんな
2020/02/03(月) 15:14:45.18ID:XXjF7BB80
予測で
308デフォルトの名無しさん (ワッチョイ 5d35-MzNC)
垢版 |
2020/02/04(火) 01:59:00.38ID:SgzhJHen0
今どき役に立つ場面は少ないけどこういうの楽しいな
2020/02/04(火) 06:57:32.95ID:j6eziqdx0
以下のプログラムのb_testにはなぜ0x3322ではなく、0x4433が代入されるのでしょうか?

#include <stdio.h>

typedef struct
{
unsigned char a;
unsigned short b;
} TEST_2;

int main(void)
{
unsigned char bytes[] = { 0x11, 0x22, 0x33, 0x44 };
TEST_2* pMemoryDevice = (TEST_2*)bytes;
unsigned char a_test = pMemoryDevice->a;
unsigned short b_test = pMemoryDevice->b;

printf("0x%X\n", b_test);

return 0;
}
2020/02/04(火) 07:04:32.35ID:/MaewKoE0
>>309
aliasing rule 違反やアライメント違反の可能性などにより未定義動作なので 0x4433 になるとも限りません。
対象の環境を限定して何が起こっているか知りたいならアセンブリを出力してみるのがいいと思います。
2020/02/04(火) 07:14:24.84ID:j6eziqdx0
>>310
アセンブリ出力してみてみたんですが、そもそもなぜそのようになるのかが疑問です。
この場合、"0x11"がBYTE, "0x22, 0x33"がWORDのバイト配列を構造体で表したい場合どうすればいいのでしょうか?
2020/02/04(火) 07:36:55.76ID:CGekWIL20
bは2バイトだから2バイト境界になるように詰め物をした
コンパイラやCPUの仕様
2020/02/04(火) 07:38:21.05ID:CGekWIL20
環境依存

#pragma pack とかコンパイルオプションで
変えられたりする
2020/02/04(火) 07:49:06.50ID:QC3PzamG0
>>311
「構造体 パディング」でググって
パディングなしを指示する方法は標準にはないから環境依存
__attribute__ ((packed))とか#pragma pack(1)とか
2020/02/04(火) 08:03:48.58ID:j6eziqdx0
#pragma pack(1)を使うことによって解決しました!
ありがとうございます。
今まで結構バイト配列を構造体に割り当てるってことをしてきましたが、気づきませんでした、、
2020/02/04(火) 09:27:02.59ID:rp8heKByM
できるかできないかアーキテクチャ環境依存だし、
できても遅くなる可能性もあるので注意
2020/02/04(火) 12:50:10.02ID:GNpMFwh2d
そもそもunsigned charの配列をキャストしてる時点で
2020/02/04(火) 13:04:48.75ID:6srsz/DQ0
unsigned charの配列をキャストしてる時点で何?
309は構造体の性質を調べる実験をしていて
そのために普段しないことをわざとやってるんだが
319デフォルトの名無しさん (アウアウウー Sa21-lBRq)
垢版 |
2020/02/04(火) 15:53:52.78ID:MHG3R7Tga
ネットワークやファイルから読んだバイナリの塊を構造体に当て嵌めて解析を楽にするなんてことは、よくやる。

まあ、本当だったらバイナリから読んで構造体側にコピーするような関数を作った方が良いんだろうけどね。(またはPerlのunpackみたいなやつ)。
320デフォルトの名無しさん (アウアウウー Sa21-lBRq)
垢版 |
2020/02/04(火) 16:00:02.30ID:MHG3R7Tga
そういえばsscanf()と似たような感じでバイナリとフォーマットと可変引数で代入先ポインタ並べて渡すとバイナリ側から読んで値入れてくれるようなPerlのunpack風な関数も作ろうと思えば作れるね。
2020/02/04(火) 19:11:16.20ID:b7qwiVAD0
>>319
それをビットフィールドでやって大失敗したことある
ビットフィールドの並び順がコンパイラ依存なんて知らんかったんや
2020/02/04(火) 19:18:36.03ID:rvpdgwbCd
コンパイラ依存や環境依存はビックフィールドだけじゃない
2020/02/04(火) 19:18:58.04ID:rvpdgwbCd
ビットフィールド
2020/02/04(火) 20:24:28.00ID:TWTPcweW0
あの大事件の裏にはこういうミスが隠されているのか……
2020/02/04(火) 20:31:06.36ID:CGekWIL20
コロン抜け?
2020/02/04(火) 21:26:03.56ID:lLuVC2X20
あれはFortranだろ
327デフォルトの名無しさん (アークセー Sxbd-nHCh)
垢版 |
2020/02/04(火) 22:02:12.09ID:xaJSTMSvx
僕のはリトルエンディアン
2020/02/04(火) 23:14:03.74ID:6/2RTZHA0
漏れが、新幹線のチケット開発してた時には、ビットフィールドなどは使わなかった

全てのバイト内で、データの位置を決めて、ビット演算でやっていた
2020/02/05(水) 01:10:02.17ID:N1gPUNHxp
309のb_testの数値ってなぜ0x3344じゃないの?
それすらわからん
ここのスレレベル高いな
2020/02/05(水) 01:21:18.13ID:wXMktV7+0
>>329
実行環境にもよると思います
2020/02/05(水) 01:26:09.05ID:wXMktV7+0
>>329
x86系CPUはリトルエンディアン

https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3
332デフォルトの名無しさん (アウウィフ FF9b-VM48)
垢版 |
2020/02/05(水) 19:45:58.28ID:2rKdW1EcF
>>317 みたいなのも居る訳で
2020/02/05(水) 20:13:44.79ID:PZ/5vknBd
>>317で何を言おうとしたかわからなかったか
2020/02/05(水) 20:18:11.07ID:PZ/5vknBd
キャストしてる時点でアラインメントは
335デフォルトの名無しさん (ワッチョイ d735-oJhu)
垢版 |
2020/02/05(水) 23:49:56.70ID:V2ceD5vC0
どんだけかまって欲しいの。
2020/02/06(木) 06:52:45.18ID:VEO7DUBt0
机上でガタガタ言うだけで満足するやつもいれば
実際に境界違反すると何が起きるのか自分の目で目撃したいやつもいるのさ

俺は後者に共感する
2020/02/06(木) 07:27:32.13ID:/W9iMVJD0
問題なくアクセス可能
例外発生
ズレてアクセス

性能以外の振舞いこのくらいは経験がある
他にあるかな?

ズレてアクセスされるCPUは
問題が分かりにくく厄介
2020/02/06(木) 07:35:58.42ID:/W9iMVJD0
机上も重要
CPUのデータシートやコンパイラの説明書は当然見ないと

ズレてるスタックポインタをずらしたまま使う意味とかわからんでしょ
2020/02/06(木) 08:03:27.48ID:VEO7DUBt0
机上がいらんとは言ってねえよ
何のための机上か考えろということだ
2020/02/06(木) 08:08:22.76ID:h/xvakBVd
ビットフィールドって環境依存なのか
分かりやすくて良いのに…
2020/02/06(木) 14:31:03.01ID:/W9iMVJD0
構造体自体環境依存
342デフォルトの名無しさん (ワッチョイ d735-oJhu)
垢版 |
2020/02/06(木) 19:36:45.30ID:OKCzzxK90
>>334
アライメントは何?
2020/02/06(木) 21:11:00.88ID:yuUE1QQrM
定義しただけじゃ構造体のアライメントを算出してくれないコンパイラがあるんだなー
union { ;static{ al,ah;ググってて遭遇ちょっと新鮮な驚き
実体を作らず、ポインタキャストでのみ利用してっとグチャゲチャなアドレスを引っ張ってくるみたいな
344デフォルトの名無しさん (ラクッペ MMcb-oJhu)
垢版 |
2020/02/07(金) 17:54:26.07ID:flffdOy2M
AAと出力されて欲しいのですがなぜ4バイトになるのでしょうか
https://ideone.com/0v6mPr
2020/02/07(金) 18:46:29.60ID:ZbQSjjsiM
charを引数として渡すとintに格上げされる。
charがこの環境ではsigned charらしいので、0xAAはマイナス扱いされる。
intに格上げするときに符号拡張されて上位24ビットが1で埋められる。
346デフォルトの名無しさん (ラクッペ MMcb-oJhu)
垢版 |
2020/02/07(金) 19:07:15.66ID:OIss2gZ6M
>>345
ありがとうございます
そもそもunsignedつけ忘れてました
2020/02/07(金) 19:12:45.37ID:2Fs88HW00
こうする、とか
printf("%0X\n", *(unsigned char*)u);
printf("%0X\n", (unsigned char)u[0]);
348デフォルトの名無しさん (ワッチョイ d735-oJhu)
垢版 |
2020/02/07(金) 19:54:01.80ID:loJf6Qnv0
なんもわかってなくて草
349デフォルトの名無しさん (ワッチョイ 571d-uqPE)
垢版 |
2020/02/07(金) 22:52:47.29ID:GxNDg+Fe0
実務経験1年で月収80万稼げるエンジニアになった理由
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
2020/02/08(土) 01:58:07.50ID:uvgcwZ2m0
>>349
グロ
2020/02/10(月) 02:19:19.98ID:VQtOVB2v0
質問させてください。

ある.dllを作成するCのプロジェクトがあるのですが、開発環境をeclipseからvisualstudioへ移行しました。
このdllを使用する別のCのプロジェクトがあるのですが、eclipseでビルドしたdllは使用できていたのですが、visualstudioでビルドしたdllを使用しようとすると未解決エラーでビルドできなくなってしまいました。
作成した.libファイルをdumpbinで確認すると、eclipseでビルドしたものには関数名にいろいろ装飾(@とかcdeclとか引数とか)がついているのですが、visualstudioでビルドしたものには装飾がついていませんでした。
この違いが原因だとは思うのですが、visualstudioでも関数名に装飾がついたlibファイルを作成するにはどうすればよいのでしょうか?
2020/02/10(月) 03:14:01.48ID:VQtOVB2v0
>>351ですが、dllを使用する側のプログラムに「c++コードとしてコンパイル」を設定していたせいで読み込めなくなっていることがわかりました。
質問内容についても、CとC++の違いについて調べていけば良さそうとわかったので、自力で調べてみようと思います。
ありがとうございました。
353デフォルトの名無しさん (ワイーワ2 FFdf-VM48)
垢版 |
2020/02/10(月) 16:25:12.95ID:TGcYvj29F
回答しようと思ったけど自己レスが付いていたので控えます。
自分で調べて下さい。良い心がけです。
354デフォルトの名無しさん (ラクッペ MMcb-oJhu)
垢版 |
2020/02/10(月) 17:30:05.64ID:sdl18RcGM
ゴミレスすんな
2020/02/11(火) 03:20:33.73ID:ShQqPfw10
>>352ですが解決しました。

c++ではマングリングが行われるためソースコード上の関数名とコンパイル後の関数名が異なる
一方cコードとしてコンパイルしたライブラリはソースコード上の関数名がそのままコンパイル後の関数名になる
この違いが原因で、c++コードとしてコンパイルされた呼び出し側プログラムではライブラリの関数を参照できなくなってしまっていました
解決策はc++側の関数宣言にextern "c"をつけること。もちろんヘッダーファイルなのでinclude文をextern "c"で囲んでしまうことでした。

たまに見かけるextern "c"ってこういうことだったんですね。お騒がせいたしました。
2020/02/11(火) 07:41:04.94ID:KT61u4Oq0
マンデリングってえろいよね
2020/02/11(火) 07:47:01.07ID:lXsf9fbVd
ポンデリング
358デフォルトの名無しさん (アウアウウー Sac3-Oc5d)
垢版 |
2020/02/14(金) 20:51:49.51ID:OVlsC64Va
うまいよね
2020/02/14(金) 20:52:25.46ID:x/oqiD9H0
おいC
おいCぺろぺろ
2020/02/15(土) 07:15:19.12ID:AzMEQbXZ0
>>355
extern "c" ではなく
extern "C" 大文字だぞ

それがわかってないのに、よく解決できたな
2020/02/15(土) 09:05:57.27ID:G4DtF/s2M
亀レスなうえにそのツッコミてw
2020/02/15(土) 20:35:31.35ID:4O8uAQVX0
おれvalgrindと結婚するんだ
363デフォルトの名無しさん (ワッチョイ 12ad-ESCD)
垢版 |
2020/02/16(日) 16:37:12.41ID:e+hZCGM40
そしてフラグが立つと
2020/02/18(火) 02:06:40.26ID:tIozcGEh0
#if defined
2020/02/19(水) 12:02:30.63ID:/eqfvSaW0
C言語関係ないんだけど、並行処理と並列処理ってさ
論理的にシミュレートするのが並行処理で、物理的にパソコンを二台並べるのが並列処理だよね?
並行と並列と混合してる記事がネットに多くてもやもやするんだけど
366デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
垢版 |
2020/02/19(水) 12:03:31.56ID:cGULNOoWF
違う
2020/02/19(水) 12:11:00.93ID:/eqfvSaW0
>>366
どこら辺が間違ってます?
2020/02/19(水) 12:17:49.87ID:pLtxXQrp0
>>365
だいたいあってる
2020/02/19(水) 12:21:53.17ID:26AgvMdu0
>>365
合ってる
ユニプロセッサでプリエンプティブは並行処理
並列は小学校で習う乾電池のつなぎ方みたいなもん
2020/02/19(水) 13:02:11.34ID:/eqfvSaW0
>>368
>>369
合ってますよね
ネットの記事っていい加減だな
2020/02/19(水) 13:08:12.27ID:S1r33x/od
厳密な境目なんて無いと思う
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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