C言語なら俺に聞け(入門編)Part 116
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2013/06/14(金) 20:22:05.73★前スレ
C言語なら俺に聞け(入門編)Part 115
http://toro.2ch.net/test/read.cgi/tech/1368444993/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 164代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/C/C++の宿題片付けます 165代目
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0002デフォルトの名無しさん
2013/06/14(金) 21:34:37.720003デフォルトの名無しさん
2013/06/14(金) 22:08:33.81readするときそのバッファにデータがあるかどうかどうやって示しているんでしょうか?
配列からデータが無くなるっていうのがよく分かりません。
どんな状態でもデータはありますよね?配列宣言したら初期状態があるんだし。
00043
2013/06/14(金) 22:19:36.90Cで実装するときはどうすればいいのかなと......
0005片山博文MZパンク ◆0lBZNi.Q7evd
2013/06/14(金) 22:23:50.140006デフォルトの名無しさん
2013/06/14(金) 22:29:12.66やっぱシンプルにフラグですか....
実装するとかなり面倒くさいですねこれでも
0007デフォルトの名無しさん
2013/06/14(金) 22:39:08.70例えば
struct {
int size_data; // 有効データサイズ
int size_alloced; // 確保量
char *data; // データ
} MY_DATA;
みたいにして
初期化は
MY_DATA d;
d.size_data = 0;
d.size_alloced = 1024;
d.data = (char *)malloc(d.size_allocated);
とし、使うときは
char str[] = "test";
strcpy(d.data, str);
d.size_data = sizeof(str);
とかする。
面倒だけど。
0008片山博文MZパンク ◆0lBZNi.Q7evd
2013/06/14(金) 22:42:38.780009デフォルトの名無しさん
2013/06/14(金) 22:45:23.970010デフォルトの名無しさん
2013/06/14(金) 22:46:37.71javaは難しいけど機能多過ぎ...
0011デフォルトの名無しさん
2013/06/14(金) 22:48:38.88だったらC++でやればいいが
「面倒 = 楽しい」
だからCに居座っているのだ
0012デフォルトの名無しさん
2013/06/14(金) 22:57:02.68C++考えた人は天才肌なんだろうな
0013デフォルトの名無しさん
2013/06/14(金) 23:01:25.33Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:〜"));
startActivity(intent);
こういったやり方だとメール送信画面やURL先のブラウザが立ち上がってしまいます
暗黙的Intentでメーラーやブラウザの一覧から選ぶ、またはデフォルト起動指定されたものを
アプリアイコンから起動した時のように、初期画面で起動するにどうしたらいいでしょうか?
0014デフォルトの名無しさん
2013/06/14(金) 23:20:36.48マルチか?
0015デフォルトの名無しさん
2013/06/14(金) 23:39:00.34より少ないツールで目的を達する方が天才だろ
0016デフォルトの名無しさん
2013/06/15(土) 00:49:26.850017デフォルトの名無しさん
2013/06/15(土) 01:26:27.090018デフォルトの名無しさん
2013/06/15(土) 01:53:19.240019デフォルトの名無しさん
2013/06/15(土) 09:26:45.82どうみても逆
0020デフォルトの名無しさん
2013/06/15(土) 10:45:56.56密かに敢行されるものなんですか?
0021デフォルトの名無しさん
2013/06/15(土) 10:47:00.980022デフォルトの名無しさん
2013/06/15(土) 10:49:22.48実行されている最中は遅くなる
0023デフォルトの名無しさん
2013/06/15(土) 10:56:34.600024デフォルトの名無しさん
2013/06/15(土) 10:57:59.21なるほど
>>22
CとrubyではどっちがGC機構が発達してますか?
学校でGCを観察するプログラムを作れという課題が出ました。
0025デフォルトの名無しさん
2013/06/15(土) 10:59:25.480026デフォルトの名無しさん
2013/06/15(土) 11:00:23.62alternativeとして何がありますか?
0027デフォルトの名無しさん
2013/06/15(土) 11:02:54.140028デフォルトの名無しさん
2013/06/15(土) 11:04:40.070029デフォルトの名無しさん
2013/06/15(土) 11:08:23.29自分でするなら独習でしょう。
0030デフォルトの名無しさん
2013/06/15(土) 11:11:26.53自分でするから課題だ
0031デフォルトの名無しさん
2013/06/15(土) 11:15:55.330032デフォルトの名無しさん
2013/06/15(土) 11:19:05.200033デフォルトの名無しさん
2013/06/15(土) 11:45:59.530034デフォルトの名無しさん
2013/06/15(土) 11:46:37.80https://github.com/ashie/gtkimcocoa
0035デフォルトの名無しさん
2013/06/15(土) 11:56:33.840036デフォルトの名無しさん
2013/06/15(土) 17:49:48.16やっぱり、Q = く、Z = ず だから「くず」とでも読むのかな?
0037デフォルトの名無しさん
2013/06/15(土) 17:58:34.770038デフォルトの名無しさん
2013/06/15(土) 18:10:17.920039デフォルトの名無しさん
2013/06/15(土) 19:42:57.550040デフォルトの名無しさん
2013/06/15(土) 20:17:24.94forはberak;できないのは何故?
0041デフォルトの名無しさん
2013/06/15(土) 20:18:22.780042デフォルトの名無しさん
2013/06/15(土) 20:20:27.78できないの?
0043デフォルトの名無しさん
2013/06/15(土) 20:21:05.81berak; は出来ないよ
break; なら出来るけど
0044デフォルトの名無しさん
2013/06/15(土) 20:21:49.84そうでした....すいません。
continue文が無いのとあるのでは便利さは格段に違いますかね?
continue使いたいんですけど使いどころが分からなくて。
0045デフォルトの名無しさん
2013/06/15(土) 20:23:25.88forでもwhileでもbreak, continue両方使えるけど。
0046デフォルトの名無しさん
2013/06/15(土) 20:27:41.03forでcontinueを使ったときの意味はご存知か?
0047デフォルトの名無しさん
2013/06/15(土) 20:28:30.41breakとcontinueの違いってなんですかね?
一緒じゃないですか?
処理をしないんですから。
0048デフォルトの名無しさん
2013/06/15(土) 20:30:24.500049デフォルトの名無しさん
2013/06/15(土) 20:31:49.59>>40 >>44 を見てると機能の差じゃなくて有る無しを気にしてるように見えるけど。
0050デフォルトの名無しさん
2013/06/15(土) 20:35:08.93berakにしてましたw
ただcontinueもあったことに築き不図
どう違うんだろうかと思っただけです。
そこらへん触れてなくてすいません。
0051デフォルトの名無しさん
2013/06/15(土) 20:58:25.28何もしない
for (i=0; ; i++)
break;
無限ループ
for (i=0; ; i++)
continue;
0052デフォルトの名無しさん
2013/06/15(土) 21:14:20.310053デフォルトの名無しさん
2013/06/15(土) 21:37:35.37そんでアホみたいにネスト深くしてくの
0054デフォルトの名無しさん
2013/06/15(土) 22:05:37.550055デフォルトの名無しさん
2013/06/15(土) 22:12:47.070056デフォルトの名無しさん
2013/06/15(土) 22:55:41.34作りたいんですがVC++かmfcで作るとどういう命令を使うか
ヒントください。
0057デフォルトの名無しさん
2013/06/15(土) 22:57:27.89DirectSoundを調べると良い
単にwavファイルを作れればいいのなら
普通のファイル操作関数とsinでおk
0059デフォルトの名無しさん
2013/06/15(土) 23:03:42.390060片山博文MZパンク ◆0lBZNi.Q7evd
2013/06/15(土) 23:04:13.060061デフォルトの名無しさん
2013/06/15(土) 23:27:33.390062デフォルトの名無しさん
2013/06/16(日) 04:59:22.309x系現役乙
0063デフォルトの名無しさん
2013/06/16(日) 10:36:41.28BoehmGC
0064デフォルトの名無しさん
2013/06/16(日) 15:19:28.140065デフォルトの名無しさん
2013/06/16(日) 15:21:50.08ないよ。
0066デフォルトの名無しさん
2013/06/16(日) 15:31:01.99全く使われないから、手抜きされてる
0067デフォルトの名無しさん
2013/06/16(日) 15:33:40.58インラインアセンブラでもできるんじゃないの?
0068デフォルトの名無しさん
2013/06/16(日) 15:43:22.58もう存在自体を忘れた方がいい
0069デフォルトの名無しさん
2013/06/16(日) 23:41:49.322chに書き込むプログラム作ったんですがアク禁なんで書き込めない。
0070デフォルトの名無しさん
2013/06/16(日) 23:58:49.840071デフォルトの名無しさん
2013/06/17(月) 00:06:06.78それに対する対処とかしてるんですか?2chって。
0072デフォルトの名無しさん
2013/06/17(月) 00:10:52.33何回チャレンジしても書き込めません。
そういう対策してるんですか?2chでは。
今は携帯からですが。
0073デフォルトの名無しさん
2013/06/17(月) 00:24:44.270074デフォルトの名無しさん
2013/06/17(月) 00:39:58.97なるほどー
荒らされないように考えてるんだな2chも。
0075デフォルトの名無しさん
2013/06/17(月) 15:07:41.89なんたらかんたら
} while(0);
こんなんなんか意味あるんすか?
0076デフォルトの名無しさん
2013/06/17(月) 15:32:48.17PHPユーザーが想定する優れたCプログラマ、には意味があるらしい
http://php.net/manual/ja/control-structures.do.while.php
俺はCとPythonな人間なんで、意味なんか見いだせないけどね
0077デフォルトの名無しさん
2013/06/17(月) 15:44:03.58#define XXX() do { 複文 } while(0)
こう書くと
if (cond) XXX(); else ・・・;
if (cond) {XXX();} else {・・・;}
どっちの形で書かれても動く。
0078デフォルトの名無しさん
2013/06/17(月) 15:55:04.63goto 禁止対策
0079デフォルトの名無しさん
2013/06/17(月) 15:56:55.670080デフォルトの名無しさん
2013/06/17(月) 16:06:27.37thx
goto回避という事は、シーケンスな処理の場合のエラーとかですね?
do {
if(処理1()==FAIL) break;
if(処理2()==FAIL) break;
if(処理x()==FAIL) break;
} while(0);
てな感じかな?
処理に待ちが入る場合はcallback関数使うと思うので、あまり出番はないかもしれないですね。
マイコン組込みでは有用かも?
0081デフォルトの名無しさん
2013/06/17(月) 16:07:10.90do { ... } while(0) で囲んだこともあった。 が、今は素直に { } で囲んでるな
0082デフォルトの名無しさん
2013/06/17(月) 16:56:54.99thx 御礼が抜けました。 PHPという事で誤爆かと思いました w
goto回避だけで無く、処理を通過した最後のComplete()処理が目玉という事ですね。
0083デフォルトの名無しさん
2013/06/18(火) 21:30:45.91#include<stdio.h>
void abc(int x,char y);
int main(void)
{
char str[100];
}
void abc(int x,char y)
{
str[x]=y;
}
配列の受け渡しは引数が面倒臭いので
省略したいです。
0084デフォルトの名無しさん
2013/06/18(火) 21:34:47.030085デフォルトの名無しさん
2013/06/18(火) 21:37:50.07その方法がありましたか。
ありがとうございます。
0086デフォルトの名無しさん
2013/06/18(火) 21:48:16.870087デフォルトの名無しさん
2013/06/19(水) 01:13:46.89どこが面倒だって?
static void abc(int x, char y, char * str)
{
str[x] = y;
}
0088デフォルトの名無しさん
2013/06/19(水) 01:53:23.82> 配列の受け渡しは引数が面倒臭い
ttp://ideone.com/MYrF6V
0089デフォルトの名無しさん
2013/06/19(水) 10:17:22.66うわぁ、めんどくさい奴〜
0090デフォルトの名無しさん
2013/06/19(水) 19:09:20.14グローバル変数とか死ねばいいのに
0091デフォルトの名無しさん
2013/06/19(水) 19:51:19.78abc()=3;
int i;
i=abc();
こんな感じです。
配列は両側で代入できるから関数では無理ですか?
0092デフォルトの名無しさん
2013/06/19(水) 19:52:33.61C++なら戻り値を参照にすればできる
ポインタを返して
*abc() = 3;
int i;
i = *abc();
とするのであればCでも可能
0093デフォルトの名無しさん
2013/06/19(水) 19:56:19.84ttp://ideone.com/ewvA9A
これくらいしか思いつかん
0094デフォルトの名無しさん
2013/06/19(水) 19:57:49.830095デフォルトの名無しさん
2013/06/19(水) 20:03:40.600096デフォルトの名無しさん
2013/06/19(水) 20:13:52.31ttp://ideone.com/CoipE7
こういうことか
0097デフォルトの名無しさん
2013/06/19(水) 20:18:22.43#define abc() (*f())
0098デフォルトの名無しさん
2013/06/19(水) 20:24:04.42ああ、関数のカッコの方が * よりも優先度が高いのだったか。
ttp://www.bohyoh.com/CandCPP/C/operator.html
それならそれでいいね。
0099デフォルトの名無しさん
2013/06/19(水) 20:25:57.36ttp://ideone.com/BtfEbS
0100デフォルトの名無しさん
2013/06/19(水) 20:27:41.10配列の名前を入力
str
型を入力
int
要素数
10
作成しました int str[10]
無理ですか?
0101デフォルトの名無しさん
2013/06/19(水) 20:27:51.66それでいい、じゃなくてそうじゃないといけない
優先順位の問題があったとしても (*(f())) としないと
後置インクリメントが意図しない動作を起こすから
0102片山博文MZパンク ◆0lBZNi.Q7evd
2013/06/19(水) 20:46:06.00構造体配列に名前や型のデータを保存、実データはmallocで確保
0103デフォルトの名無しさん
2013/06/19(水) 20:48:59.95どうやって使うつもりなの?
0104デフォルトの名無しさん
2013/06/19(水) 20:50:32.510105デフォルトの名無しさん
2013/06/19(水) 20:55:01.090106デフォルトの名無しさん
2013/06/19(水) 20:57:32.10関係あるの?
0107デフォルトの名無しさん
2013/06/19(水) 21:00:40.05なるほど。>>96はabc()++;するとコンパイルエラーになる。うかつだった。
ありがとう。
修正
ttp://ideone.com/n8G9Z7
0108デフォルトの名無しさん
2013/06/19(水) 21:02:03.57本当にCが必要なのかを慎重に検討すべき
0109デフォルトの名無しさん
2013/06/19(水) 21:02:31.24素人はマクロに手を出しちゃいけないよという実例
0110デフォルトの名無しさん
2013/06/19(水) 21:37:42.53配列とほぼ同等なもの(ポインタ+メモリ確保)を作ることはできる。
厳密な意味で配列とイコールなものをランタイムには作れない。
0111デフォルトの名無しさん
2013/06/19(水) 21:44:27.02構文解析がんばれ
0112デフォルトの名無しさん
2013/06/19(水) 21:59:45.83あるじゃん
0113デフォルトの名無しさん
2013/06/19(水) 22:27:02.72こんな感じだろうか
ttp://ideone.com/2iRLeD
0114デフォルトの名無しさん
2013/06/19(水) 23:55:30.76array[n] = *(array + n)を利用すれば
配列っぽいものを動的に作れる
0116デフォルトの名無しさん
2013/06/20(木) 03:22:40.21main関数の中で宣言したaという変数がある場合
main関数の中で両方を別ものとして
読み書きするにはどうすればいいですか?
0117デフォルトの名無しさん
2013/06/20(木) 03:49:44.590118デフォルトの名無しさん
2013/06/20(木) 03:50:58.630119デフォルトの名無しさん
2013/06/20(木) 04:21:29.15スレ違い。
0120デフォルトの名無しさん
2013/06/20(木) 07:30:58.80Cだとできないので名前を変えよう
C++なら::aが外、aが中
0121デフォルトの名無しさん
2013/06/20(木) 08:12:38.62int a;
int* pa = &a;
int main(){
int a;
*pa = 1:
a = 2;
...
0122デフォルトの名無しさん
2013/06/20(木) 10:33:57.680123デフォルトの名無しさん
2013/06/20(木) 14:36:08.660124デフォルトの名無しさん
2013/06/20(木) 15:42:12.760125デフォルトの名無しさん
2013/06/20(木) 15:47:45.180126デフォルトの名無しさん
2013/06/20(木) 15:56:48.320128デフォルトの名無しさん
2013/06/20(木) 18:06:49.040129デフォルトの名無しさん
2013/06/20(木) 18:57:17.500130デフォルトの名無しさん
2013/06/20(木) 22:56:57.470131デフォルトの名無しさん
2013/06/21(金) 03:34:14.13馬と鹿の区別をつけられない奴のことだと最近知った俺だった
0132デフォルトの名無しさん
2013/06/21(金) 11:15:17.08ttp://www.ioccc.org/2006/toledo2/
0133デフォルトの名無しさん
2013/06/21(金) 15:36:45.64http://engawa.2ch.net/test/read.cgi/poverty/1371785765/l50
0134デフォルトの名無しさん
2013/06/21(金) 23:26:53.830135デフォルトの名無しさん
2013/06/22(土) 00:54:36.090136デフォルトの名無しさん
2013/06/22(土) 00:57:52.11見た目が違う
呼び方が違う
文字コードによっては別々に割り当てられてるので全く別の文字
0137デフォルトの名無しさん
2013/06/22(土) 01:03:30.970138デフォルトの名無しさん
2013/06/22(土) 02:37:08.14サンプル2ではエラーが出るのですが、サンプル1でエラーが出ないのはどうしてでしょうか。
よろしくお願いします。
●サンプル1
#include <stdio.h>
int a = 10;
int a;
int main(void)
{
return 0;
}
●サンプル2
#include <stdio.h>
int a = 10;
int a = 20;
int main(void)
{
return 0;
}
0139デフォルトの名無しさん
2013/06/22(土) 02:48:56.86まずエラーを書こう
0140138
2013/06/22(土) 03:03:03.46すみません。以下の様なエラーが出ます。
> 'a' : 再定義されています。2 回以上初期化されています。
> 'a' の宣言を確認してください。
サンプル1では再定義と言われないのは何故なのか気になりました。
よろしくお願いします。
0141デフォルトの名無しさん
2013/06/22(土) 03:18:17.85情報の後出しウザい消えろゴミクズ
0142デフォルトの名無しさん
2013/06/22(土) 04:19:29.71139: エラーの詳細は
140: これこれです
141: 後出しうざい、ゴミクズ
真面目な質問者と、ゴミクズだな
>>138
サンプル1は仮定義って言うんだよ
6.9.2. External object definition
2 A declaration of an identifier for an object that has file scope without an initializer, and
without a storage-class specifier or with the storage-class specifier static, constitutes a
tentative definition.
0144デフォルトの名無しさん
2013/06/22(土) 05:33:29.65いいから二度と来るなよ。
社会のお荷物君。
0145デフォルトの名無しさん
2013/06/22(土) 07:34:32.130146デフォルトの名無しさん
2013/06/22(土) 08:49:10.02>>141と>>144自身が「ゴミクズ」であり「社会のお荷物君」だからだろ
「投影性同一視」と言う
0147デフォルトの名無しさん
2013/06/22(土) 08:52:47.25>例えば、部下に「お前は、自分勝手で自己中心的だ」という非難を浴びせている
>上司を見ることがあると思います。
>よく知っている人から見ると、「自分勝手で自己中心的なのは、他でもない自分自身の
>ことではないか」ということになるのですが、【投影性同一視】はそういう自分のいやな部分を
>見ようとはせずに、そのいやな部分を他人に押しつけるのです。
>そして、いやな部分を押しつけた他人に向かって「お前は、自分勝手だ」と言って非難するのです。
>このように自分のことを棚に上げて、他人を非難することで、自分の中にある嫌悪すべき部分と
>直面することを避けているのです。
>つまり、自分自身と向き合う代わりに、他人という鏡と向き合って、他人を攻撃するのです。
>ですから、【投影性同一視】を行っている人が、「お前は、×××だ!」と言ったとき、「お前は」と
>いう部分を「私は」に置き換えてみれば、言っていることがそっくりそのまま患者自身にぴったりと
>当てはまることがあるのです。
>しかし、【投影性同一視】を行っている人は「私は、自分勝手だ!」とは言いません。
>その代わりに「お前は、自分勝手だ!」「お前は、自分のことしか考えていないじゃないか!」と
>言って、周囲の人たちを非難するのです。
0148デフォルトの名無しさん
2013/06/22(土) 10:50:37.240149デフォルトの名無しさん
2013/06/22(土) 10:52:58.91これ、豆な (w
0150デフォルトの名無しさん
2013/06/22(土) 12:18:52.73情報の後出しは普通じゃないよ
荒らしが荒れやすい下地を作る手段の一つ
0151デフォルトの名無しさん
2013/06/22(土) 12:50:08.31ソース晒してるんだから、そのくらいすぐ分かるだろ
0152デフォルトの名無しさん
2013/06/22(土) 12:58:08.220153デフォルトの名無しさん
2013/06/22(土) 13:12:02.510154デフォルトの名無しさん
2013/06/22(土) 13:16:19.31だが >>141 はただ荒らすために生きているので
これ以上さわってはいけません
0155デフォルトの名無しさん
2013/06/22(土) 13:55:20.43まあ、それはそうだが、エラーメッセージぐらい貼れよといつも思う。
次スレ立てる人は >>1 に入れといて欲しいな。
0156デフォルトの名無しさん
2013/06/22(土) 14:07:39.95エラーっていわば注意や警告だからな。
学校や会社で何度注意されても繰り返すゴミクズと同じタイプ。
0157デフォルトの名無しさん
2013/06/22(土) 14:09:26.02お前の狙い通り荒れてきたぞ
0158デフォルトの名無しさん
2013/06/22(土) 14:16:32.84フローチャートで論点と流れを整理する癖を付けろ
口から糞を垂れるのはその後にしろ
0159デフォルトの名無しさん
2013/06/22(土) 14:52:34.130160デフォルトの名無しさん
2013/06/22(土) 15:05:27.72テストで間違えたところをきく場合も、問題用紙だけ持ってきて「40点でした。何がいけなかったのですか?」ときくのと同じ
初心者以前に知恵遅れ
勿論一般社会では迷惑な存在
0161デフォルトの名無しさん
2013/06/22(土) 15:10:03.750162デフォルトの名無しさん
2013/06/22(土) 15:19:26.690163デフォルトの名無しさん
2013/06/22(土) 15:26:56.79普通は原因究明のために目に入る情報から何とか手掛かりを探そうとするからな。
そうすると必然的にエラーメッセージを調べることになる。
0164デフォルトの名無しさん
2013/06/22(土) 15:35:01.990165デフォルトの名無しさん
2013/06/22(土) 15:56:45.50いつも早いので本当にオーダーが O(n^2) になることがあるのか興味があります
0166デフォルトの名無しさん
2013/06/22(土) 16:10:31.35もう二度と来なくていいよ
0167デフォルトの名無しさん
2013/06/22(土) 17:28:48.49お前にも正義はない
0168デフォルトの名無しさん
2013/06/22(土) 18:06:05.190169デフォルトの名無しさん
2013/06/22(土) 19:26:29.870170デフォルトの名無しさん
2013/06/22(土) 20:30:54.600171デフォルトの名無しさん
2013/06/22(土) 21:35:18.2930代で常駐先がなくなって未経験の異業種で人生やり直すのがオチw
常駐先企業の人件費抑制に利用されただけの人生だったな残念w
システムエンジニアになろう〜新入社員研修編〜
ttp://www.nicovideo.jp/watch/sm4010880
0172デフォルトの名無しさん
2013/06/22(土) 21:37:20.110173デフォルトの名無しさん
2013/06/22(土) 21:39:27.59何か扱い間違えるとヤバイかもみたいな認識されてるらしく
あまり酷い扱いはされないよ
0174デフォルトの名無しさん
2013/06/23(日) 00:36:01.215,4,3,2,1 を昇順にしてみればいいんじゃね
0175デフォルトの名無しさん
2013/06/23(日) 01:49:39.49まともな実装なら n が小さいと挿入ソート切り替えたり、
あるいはそもそも最悪実行時間を嫌ってマージソートを使ってたりするはず
0176デフォルトの名無しさん
2013/06/23(日) 02:52:53.57キチガイ女の集まるメンヘラ板ならまだしもム板なのに
Knuth の聖書を読め推測ではなくて「当たり前」
0178デフォルトの名無しさん
2013/06/23(日) 10:13:01.61知らないのは素人
0179デフォルトの名無しさん
2013/06/23(日) 10:42:54.640180デフォルトの名無しさん
2013/06/23(日) 10:58:26.440181デフォルトの名無しさん
2013/06/23(日) 11:21:32.000182デフォルトの名無しさん
2013/06/23(日) 11:48:10.77そう思うんなら、glibcの開発mlに乗り込んで喧嘩売って来いよ。
0183デフォルトの名無しさん
2013/06/23(日) 11:53:07.46マージソート知らないのか?マージソートはメモリー効率悪いよ。
0184デフォルトの名無しさん
2013/06/23(日) 11:59:08.52「基本は」って書いただろ。ソース読んでから言いがかりつけろよ。
0185デフォルトの名無しさん
2013/06/23(日) 12:04:05.74基本はとお前が書こうか書くまいが、マージソートはメモリー効率悪いよ。
知らなかったんだろ?素直に認めろよ。
0186デフォルトの名無しさん
2013/06/23(日) 12:16:57.54お前本当に頭悪いな。マージソートがメモリーを沢山使うのは常識だが、glibcはそれでも「効率」はマージソートの方がいいと判断して基本(メモリー潤沢な場合)はマージソートを採用している。
それに対して周回遅れの言いがかりつけんじゃねー
効率: 機械から得られる有効な仕事が,それを得るために機械に加えたエネルギーに対して占める割合をいう。
0187デフォルトの名無しさん
2013/06/23(日) 12:18:45.53このような非効率なプロレスに利用しても何ら問題ない
0188デフォルトの名無しさん
2013/06/23(日) 12:19:37.26だからマージソートはメモリー効率悪いだろ。
0189デフォルトの名無しさん
2013/06/23(日) 12:30:05.35効率とは使用するリソースに対する得られる効果。
使用するメモリーに対して期待する効果が大きいと判断したから、マージソートが採用されている。
0190デフォルトの名無しさん
2013/06/23(日) 12:36:42.610191デフォルトの名無しさん
2013/06/23(日) 12:37:12.55詭弁だな。
0192デフォルトの名無しさん
2013/06/23(日) 13:06:38.64>>173の周回遅れのツッコミが、とても痛い事にきづいたか?
0193デフォルトの名無しさん
2013/06/23(日) 13:15:38.440194デフォルトの名無しさん
2013/06/23(日) 13:21:18.35マージソートはメモリー効率悪いよね。
0195デフォルトの名無しさん
2013/06/23(日) 13:27:34.580196デフォルトの名無しさん
2013/06/23(日) 13:32:19.18ケータイやゲーム機の色にこだわるのと一緒だよ
わかるだろ?
0197デフォルトの名無しさん
2013/06/23(日) 13:35:15.930198デフォルトの名無しさん
2013/06/23(日) 13:38:27.53富豪ではないからスパコンやフルカスタムが必要になると詰むんだよな
0199デフォルトの名無しさん
2013/06/23(日) 13:56:30.580200デフォルトの名無しさん
2013/06/23(日) 14:05:57.130201デフォルトの名無しさん
2013/06/23(日) 16:31:54.78「マージソートのメモリー効率がわるいこと知ってる俺 SUGEEE、おめーらそんな事知らない
だろう」って事だろ。
で、「ハァ、(そんな事誰でも知ってるし) それがどうかしたのか」と言われて、逆切して粘着。
まあ、良くある話。
0202デフォルトの名無しさん
2013/06/23(日) 17:32:09.05全然違うわw
「マージはメモリ効率悪いよね(ぼそ)」
「glibcはなんたらかんたら!!!」
「マージはメモリ効率悪いよ(はっきり)」
「glibcは頑張ってんだ!!!」
こういう話です。
0203デフォルトの名無しさん
2013/06/23(日) 17:32:13.12メモリを確保できない場合は回復不能なエラーになる
クイックソートならそうはならない
0204デフォルトの名無しさん
2013/06/23(日) 17:41:24.79> 逆切して粘着。
君、もういいよ。
0205デフォルトの名無しさん
2013/06/23(日) 17:53:43.59C言語を使用している人間の発言とはとうてい思えない。
mallocがNULLを返したらクイックソート使ったらいいじゃん。
回復余裕じゃん。
0206デフォルトの名無しさん
2013/06/23(日) 17:55:30.17そんな内容でいちいちageんな
0207デフォルトの名無しさん
2013/06/23(日) 17:56:48.640208デフォルトの名無しさん
2013/06/23(日) 18:02:12.98全然ちがうわ
オレ: glibcは(メモリ十分なら)基本マージソート
周回遅れ: マージソートはメモリ効率悪いだろ
0209デフォルトの名無しさん
2013/06/23(日) 18:03:37.13バカなやつだな
メモリ確保できたときの無駄を許せるなら
おまえはCをやめてVBAとかもっと手頃な言語やった方がいい
はっきりいって向いてないよ
0210デフォルトの名無しさん
2013/06/23(日) 18:07:57.66なにをゆってるんだ。回復不能は誤りだろ、それについては認めろよ。
バカはお前だハゲ。はい勝利。
0212デフォルトの名無しさん
2013/06/23(日) 18:30:24.94誤りじゃないよ
メモリをいくら確保すればメモリが足りてるかテストできない
さらにテストしたメモリを解放してもすぐに同じだけ全て再利用できるとは限らない
0213デフォルトの名無しさん
2013/06/23(日) 18:34:51.85は?何言ってんだバーカ。はい論破。
0214デフォルトの名無しさん
2013/06/23(日) 18:36:55.67シェルソートは難しいぞ。お前実装できんの?
0215デフォルトの名無しさん
2013/06/23(日) 19:14:27.63あるごりずむを覚えたての自称上級者が延々とオナニーを始めるので
ソートの話題をふるのは禁止です
0216デフォルトの名無しさん
2013/06/23(日) 19:19:05.65争ってる奴らはバカなんだろうな
0217デフォルトの名無しさん
2013/06/23(日) 19:20:07.80MicrosoftVisualC++って2012使ったほういいんですかね?
2010までしか説明していないサイトが多いのでどうすればいいのか迷ってます
0218デフォルトの名無しさん
2013/06/23(日) 19:21:29.990219デフォルトの名無しさん
2013/06/23(日) 19:22:11.900220デフォルトの名無しさん
2013/06/23(日) 19:25:49.97ゲームは本来文字情報だけで十分なんだよ
0221デフォルトの名無しさん
2013/06/23(日) 19:30:29.060222デフォルトの名無しさん
2013/06/23(日) 19:37:29.52ハードやれ
とりあえずドラム叩きあたりからでいい
人を楽しませるには自然現象の全てを使い切れ
ここを忘れた連中こそゲーム業界のやませだ
0223デフォルトの名無しさん
2013/06/23(日) 19:40:45.89まずはツクールとかウディタとか
そういうお手軽で不自由なツールをさわっておくのがよい
0224デフォルトの名無しさん
2013/06/23(日) 19:42:23.77どんなゲーム作るの?
勉強してもFF13みたいなやつは個人では無理だと思うよ
0225デフォルトの名無しさん
2013/06/23(日) 19:44:11.70じゃあ文字情報だけのゲームで食っていけるだけの利益出してみろや
ドラクエ以上の本数売ってみろや
何も知らない 素人 が知ったかすんな
0226デフォルトの名無しさん
2013/06/23(日) 19:53:34.400227デフォルトの名無しさん
2013/06/23(日) 19:57:10.340228デフォルトの名無しさん
2013/06/23(日) 19:58:17.640229デフォルトの名無しさん
2013/06/23(日) 20:02:55.99バカか?
商業ゲームの話は誰一人してないぞ
レスの流れを読むぐらいのことはしてから喋れよ
0230デフォルトの名無しさん
2013/06/23(日) 20:12:57.44ツクール的な簡易グラでやりたいと思ってます
もしかしてRuby勉強したほうがいいんですかね
0231デフォルトの名無しさん
2013/06/23(日) 20:13:54.58こいつ馬鹿か?
商業ゲーム作ってる企業は面白いゲーム作ろうと思って作ってんだよ
しかも全員プロだ
そのプロ共が30年近くかけてたどり着いた回答が今の美麗なグラフィックをバリバリ使った
音楽もオーケストラ並のゲームだ
チャラチャラプログラマ気取りで2chに書き込んでるお前のような奴の言うことより
30年近い実績の上に成り立ってる商業ゲームのほうがよっぽど説得力があるんだよ
0232デフォルトの名無しさん
2013/06/23(日) 20:24:32.40消費者はそう思ってない
またグラフィックだけのクソゲーか
と飽き飽きしてる
それも当然だグラフィックしか売りがなければ
暫くすればすぐによりグラフィックが優れたゲームが作られる
無意味なんだよ今の業界がやってる仕事はね
誰の記憶にも残らないすぐに最新作に上書きされる為だけにゲームを量産している
あまりにも不毛だ
0233デフォルトの名無しさん
2013/06/23(日) 20:27:12.901回きりでも諭吉使う価値あるんだよねえ
ところでゲーム屋さん、何がどのようにオーケストラ並みなの?
作曲してる人たちやDAC作ってるハード屋さんの仕事は、諭吉に匹敵すると思うんだけど
えーと・・・
0234デフォルトの名無しさん
2013/06/23(日) 20:33:16.90ツクールレベルならRubyとかスクリプト言語で十分。
だけど将来もしかしたら3Dやるかも、とかだったらやっぱりC/C++のほうがいいね。
あなたにデニスリッチーの加護があらんことを。
0235デフォルトの名無しさん
2013/06/23(日) 20:37:09.56いや、だからお前文字情報だけのゲーム作って売ってみろって
お前の言ってることが正しければみんな文字情報ゲー買うだろ
今どんな生活してるか知らんけど、普通のリーマンだとしたら生活水準かなり上がるぞ
お前の言ってることが正しければリスクもない
0236デフォルトの名無しさん
2013/06/23(日) 20:59:00.58>>226 の皮肉がわからない馬鹿一名を除いて
0237デフォルトの名無しさん
2013/06/23(日) 21:09:25.88ありがとうございました。
0238デフォルトの名無しさん
2013/06/23(日) 21:21:51.52ピンキリだけどゲームでも腕のいい作曲家だと年収もオーケストラやってる上手い演奏家と同じくらいだよ。
0239デフォルトの名無しさん
2013/06/23(日) 21:55:13.13どうせコピペを繰り返してもなにも身につかないから
基本機能で不自由さを噛み締めるのが良い
0240デフォルトの名無しさん
2013/06/23(日) 22:00:38.490241デフォルトの名無しさん
2013/06/23(日) 22:07:09.88程度の高い話期待するなら、そういうスレに移動
0242デフォルトの名無しさん
2013/06/23(日) 22:11:42.81それがム板の残念なとこ
0243デフォルトの名無しさん
2013/06/23(日) 22:13:23.160244デフォルトの名無しさん
2013/06/23(日) 22:21:22.410245デフォルトの名無しさん
2013/06/23(日) 22:23:40.310246デフォルトの名無しさん
2013/06/24(月) 07:45:29.55えへへ〜、奥村さんの本をみてかきます、めんどくさいから
0248デフォルトの名無しさん
2013/06/24(月) 10:29:37.670249デフォルトの名無しさん
2013/06/24(月) 11:14:59.21最近haskellのクイックソートのコードをみて、こういうことだったかと腑に落ちたわ。
どの言語ではじめるのがいいですかって質問してる初心者に、Cが基礎だって薦めるやつはウンコだな。
0250デフォルトの名無しさん
2013/06/24(月) 11:32:31.320251デフォルトの名無しさん
2013/06/24(月) 12:27:08.17Cから始めるしかない
0252デフォルトの名無しさん
2013/06/24(月) 16:56:16.680253デフォルトの名無しさん
2013/06/24(月) 17:22:30.63CMMCPで計算モデルを知ると、言語変わっても対応しやすくなる。
0254デフォルトの名無しさん
2013/06/24(月) 17:44:34.80ググっても蚊のサイトしか出ない
0255デフォルトの名無しさん
2013/06/24(月) 19:52:16.74すまん、CTMCPだ。
(Concepts, Techniques, and Models of Computer Programming)
0256デフォルトの名無しさん
2013/06/25(火) 20:21:42.28インクルードガードされたヘッダファイルって2回目は読み込まないんですよね?
でもインクルードしたらどのソースファイルからも宣言した構造体とか使えます。
インクルードで文字列を置き換えてるだけなら、
ヘッダファイルの内容を一箇所でしか使えないと思うんですがどうなっているんでしょうか。
0257デフォルトの名無しさん
2013/06/25(火) 20:34:08.74IDEとかを使ってて不思議に思うのかも知れないが
CやC++コンパイルってのは基本的に、各.cや.cppに対して行う
.cが2つあれば、コンパイルは2つ走るワケで
「ひとつのコンパイル単位の間で」一度ずつしか読まれないだけよ
0258デフォルトの名無しさん
2013/06/25(火) 20:47:01.44一つのコンパイル単位において一回だけ、というだけで
複数のコンパイル単位については、必要ならばそれぞれについて一回インクルードされますよ
0260デフォルトの名無しさん
2013/06/25(火) 20:58:52.43いやー凄い勉強になりました
これが納得いかなくてずっと悩んでたもので
試しにヘッダファイルに int x = 10; と入れてみて二箇所から読んでみたらちゃんと再定義のエラーになりました。
一箇所から2回読んだ時は、インクルードガードされるので大丈夫なんですね
ありがとうございました
こっちからはなにかよくわかっていませんが、持ちネタの「仮定義」tentative defenision のよーな木が
extern は要らない子っ!!!!
0262デフォルトの名無しさん
2013/06/25(火) 21:40:53.08じゃあ番兵 #define の識別子をきみょーきてれつにするんだ!
0264デフォルトの名無しさん
2013/06/25(火) 21:48:53.53いやそれヘッダ開いてコピペされるだけだから…#pragma onceとか使うしかないっしょ
0265デフォルトの名無しさん
2013/06/25(火) 22:48:00.100266デフォルトの名無しさん
2013/06/26(水) 00:14:02.45そりゃ業務で分割コンパイルも経験した事のないヤツにはexternは不要だろうな
キーワード extern を1回も使わなくても複数の翻訳単位で系を構成することはできます(棒)
extern は要らない子っ
0268デフォルトの名無しさん
2013/06/26(水) 10:55:37.73関数のプロトタイプはexternなしでもいいし、変数もグローバル変数使わなければいいしな。
0269デフォルトの名無しさん
2013/06/26(水) 10:59:18.240270デフォルトの名無しさん
2013/06/26(水) 11:03:22.030271デフォルトの名無しさん
2013/06/26(水) 11:07:49.591.11:
関数宣言についたexternは何を意味するのか。
A:
こういう書き方をすることで、関数の定義がたぶん別のソースファイ ルにあるということを、ほのめかすことができる。しかし以下の2つ に違いはない。
extern int f();
int f();
References:
ANSI Sec. 3.1.2.2, Sec. 3.5.1; ISO Sec. 6.1.2.2, Sec. 6.5.1; Rationale Sec. 3.1.2.2; H&S Secs. 4.3,4.3.1 pp. 75- 6.
0272デフォルトの名無しさん
2013/06/26(水) 11:16:18.07オブジェクト指向ではないC言語はどうしても大域変数が欠かせない場面が多い
>>267は実務をしらないニートの発言
0273デフォルトの名無しさん
2013/06/26(水) 11:30:33.05手元にあったgitのソースにgrepかけてみたら、変数のexternはerrnoの一個しかなかったわ。
普通に組んでたらいらないんじゃないの。
0274273
2013/06/26(水) 11:41:12.99ごめん。
0275デフォルトの名無しさん
2013/06/26(水) 11:44:50.09変数を持たせてそのポインタを持って回る事になるが、このプログラミングスタイル
は管理が大変な上にエラーの原因になりやすい
externを使った方が遥かに楽な場面が多い
0276デフォルトの名無しさん
2013/06/26(水) 12:14:07.85グローバル変数を使うときでも制約はありますが extern キーワードを使わなくともリンクできます(棒)
0279デフォルトの名無しさん
2013/06/26(水) 12:33:09.810280デフォルトの名無しさん
2013/06/26(水) 12:40:42.95#define H8_3069F_SCI_SMR_CKS_PER1 ( 0<<0 )
#define H8_3069F_SCI_SMR_CKS_PER4 ( 1<<0 )
#define H8_3069F_SCI_SMR_CKS_PER16 ( 2<<0 )
#define H8_3069F_SCI_SMR_CKS_PER32 ( 3<<0 )
0281デフォルトの名無しさん
2013/06/26(水) 12:42:52.63どれか一つのファイルにはexternは必要だぞ
全部書いてなかったらリンクできない
0282デフォルトの名無しさん
2013/06/26(水) 12:44:39.50こういうのは古いけど今でも立派に通用するテクニックだ
0283デフォルトの名無しさん
2013/06/26(水) 12:50:46.95どうやってリンクするの?
0284デフォルトの名無しさん
2013/06/26(水) 12:55:36.54時間の無駄だぞ
0285デフォルトの名無しさん
2013/06/26(水) 13:03:32.22「externは不要」というのは間違い。明示的に書くことで外部宣言されていることが分りやすくなるから。
「externは書いた方が親切」これが正解。
0286デフォルトの名無しさん
2013/06/26(水) 13:03:35.29--- a.c
extern int *a;
--- b.c
int a[100];
なぜ動かないか最初は理解出来なかった
0287デフォルトの名無しさん
2013/06/26(水) 13:05:02.34それ関数の話?
0288デフォルトの名無しさん
2013/06/26(水) 13:06:27.26ちょっと違うなあ
http://blog.bitmeister.jp/?p=614
>externのついた大域変数は必ずいずれかのモジュールに実体がないとダメで、
>externのつかない大域変数は基本的にexternありと同じだが、いずれのモジュールにも
>実体がなければリンカが実体を作る、という感じになるでしょうか。
リンカに任せるのかよ
バグの温床になりそうだな
0289デフォルトの名無しさん
2013/06/26(水) 13:10:52.54>fs Says:
>6月 11th, 2011 at 11:00 PM
>このような言語仕様になった(externの省略が許されるよう緩和された)理由は、
>もともとUNIX他のオペレーティングシステムのリンカーがFortran言語を前提に
>作られている現状を追認するためなのではないかと思います。Fortranは
>上記の「初期値式を持つ定義」は許されない代わりに、extern宣言は不要ですから。
「extern不要!」と言ってるやつはロートルじゃねーの
俺はexternを省略するな、と教わった口だからな
0290デフォルトの名無しさん
2013/06/26(水) 13:35:54.070291デフォルトの名無しさん
2013/06/26(水) 13:39:45.880292285
2013/06/26(水) 14:08:30.530293285
2013/06/26(水) 14:33:07.27仮定義
初期化子を指定しない定義を仮定義という。同じ変数の仮定義は、1つの翻訳単位に複数存在しても構わない。
定義と同様、実体は確保される。仮定義が一つの翻訳単位に複数存在した場合、コンパイラはそれらを1つにまとめ、
0の初期化子を持ったものとして定義する。ただし、全翻訳単位において既に定義が存在すれば、extern宣言された
ものとして振る舞う。この挙動は紛らわしい為、特に必要でない限り仮定義を用いるのは避けた方が無難である。
int n;
尚、同じ仮定義が複数の翻訳単位に存在する場合の、リンク時の動作は規格化されていない。
故に、この場合の動作は未定義である。gccではこの場合、コンパイラが解決している模様。
また、定義と仮定義が同時に存在する場合もコンパイラが解決している模様(言うまでもなく、
定義は2つ以上存在してはならない)。
http://d.hatena.ne.jp/XuHuang/20070624/1182669569
0294デフォルトの名無しさん
2013/06/26(水) 14:34:11.67>この挙動は紛らわしい為、特に必要でない限り仮定義を用いるのは避けた方が無難である。
これを正当化してるわけか
糞だな
0295デフォルトの名無しさん
2013/06/26(水) 14:56:31.49externなしでも勝手に変数をまとめちゃうような変態機能とかあんのか。
0296デフォルトの名無しさん
2013/06/26(水) 15:13:13.96老害しか使わない馬鹿機能だから知らなくていい
0297デフォルトの名無しさん
2013/06/26(水) 15:26:03.630298デフォルトの名無しさん
2013/06/26(水) 15:39:46.150299デフォルトの名無しさん
2013/06/26(水) 15:53:25.720300デフォルトの名無しさん
2013/06/26(水) 16:10:39.970301デフォルトの名無しさん
2013/06/26(水) 19:06:50.7430代で常駐先がなくなって未経験の異業種で人生やり直すのがオチw
常駐先企業の人件費抑制に利用されただけの人生だったな残念w
システムエンジニアになろう〜新入社員研修編〜
ttp://www.nicovideo.jp/watch/sm4010880
0302デフォルトの名無しさん
2013/06/26(水) 19:12:44.20知ってることと実装で使っちゃうことはまったく別の話だろ
0303デフォルトの名無しさん
2013/06/26(水) 19:31:39.63それだけでも良いんじゃない?
0304デフォルトの名無しさん
2013/06/26(水) 19:54:14.25もう無知ではない
だが使うのは奨励されない
0305デフォルトの名無しさん
2013/06/26(水) 20:43:40.94全部引数で渡せよ
0306デフォルトの名無しさん
2013/06/26(水) 20:47:37.52それでももちろんいいが、OOP言語じゃないと見通しが著しく悪くなるし、
アクセス制御も出来ないっしょ?
C言語では必要悪
0307デフォルトの名無しさん
2013/06/26(水) 20:55:28.54コンパイル時ではなく起動時に確定した後、変わることはない値とか
準マクロ的に使いたくなる
0308デフォルトの名無しさん
2013/06/26(水) 20:59:27.490309デフォルトの名無しさん
2013/06/26(水) 21:00:07.610310デフォルトの名無しさん
2013/06/26(水) 21:11:49.11規格書にもポータブルでないと明記されている。
企画書の何処に書かれているか分からないゴミクズが炎上学習企んでるだけ WWWW
0311デフォルトの名無しさん
2013/06/26(水) 21:21:12.93だからアクセス制御ないからバグが入るって
>>310
やっぱりか
クズはクズだなあ
0312デフォルトの名無しさん
2013/06/26(水) 21:22:46.79アクセス制御とか言い出したら
グローバル変数なんて完全に開けっぴろげだろw
それに構造体も隠蔽可能だぞ
ヘッダには宣言だけ書いて
全部関数を通じて操作させればいいだけ
生成は動的になるけど
0313デフォルトの名無しさん
2013/06/26(水) 21:25:38.32Cで隠蔽とか普通に可能
それができるのです(棒)
初期化せずに宣言だけする形をとれば extern なんかつける必要はありません(棒)
MASM5->MASM6 では EXTERNDEF なるディレクティブが新設されたくらい当たり前に新しい考え方
>俺はexternを省略するな、と教わった口だからな
本質を理解しないと新しいことに対応できなくなりますよね
化石言語とやらでいまだにOSが書かれている件について
リンカがね
0319デフォルトの名無しさん
2013/06/26(水) 21:50:43.65>規格書にもポータブルでないと明記されている。
でそれはどこ?具体的に引用できないようでは馬鹿が喚いているのとかわらないよね
0320デフォルトの名無しさん
2013/06/26(水) 21:51:19.31>gccではこの場合、コンパイラが解決している模様。
コンパイラがリンクするわけがない。リンカがリンクするんだ。それを書いた奴は誰?URL をさらしてくれないか?
表からみえる gcc はコンパイラドライバであってコンパイラではない
>定義と仮定義が同時に存在する場合もコンパイラが解決している模様(言うまでもなく、定義は2つ以上存在してはならない)。
定義という言葉自体が曖昧。この問題を正確に記述するのであれば、「初期化を伴う定義」と「宣言」または「仮定義」の二つのみを使うべき
初期化を伴う定義はリンクするオブジェクトのすべてにおいて二箇所以上に存在してはならない、それだけの話だ
残念ながらCならばそんなことをする必要はないMASM6だって必要なかったくらいだからねその著者もあやしいものだね
0323デフォルトの名無しさん
2013/06/26(水) 22:09:56.74inline 関数などリンク時に同一にまとめられる識別子は
「複数定義を同一にまとめる」という属性を付けるけど
それの話か?
リンカやオブジェクトファイルの仕様がCの言語仕様書に明記されるのか?かなり疑問だ
まだまだこのネタいけるね
0326デフォルトの名無しさん
2013/06/26(水) 22:18:23.060327デフォルトの名無しさん
2013/06/26(水) 22:24:02.59スレ違いだ
0328デフォルトの名無しさん
2013/06/26(水) 22:26:22.51環境依存というわりには「適用できない環境」なるものを具体的に列挙できない件について
0329デフォルトの名無しさん
2013/06/26(水) 22:33:06.23態度でかくね?
0330デフォルトの名無しさん
2013/06/26(水) 22:39:05.270331デフォルトの名無しさん
2013/06/26(水) 22:44:24.80昔からある日本の大企業の社員の雇用を守る為にIT技術者が人件費抑制のために使い捨てにされていってるだけw
0332デフォルトの名無しさん
2013/06/26(水) 23:49:57.82お前が知らないだけ。WWWW
アマゾンギフト10万円で教えてやるよ。
0333デフォルトの名無しさん
2013/06/27(木) 03:14:35.49列挙してくださいお願いいたします
0334デフォルトの名無しさん
2013/06/27(木) 09:37:43.79もう他の人が書いてるからあんたはいいよ。
0335デフォルトの名無しさん
2013/06/27(木) 10:54:04.07また来年くらいにやってみよー
0336デフォルトの名無しさん
2013/06/27(木) 12:12:21.23くだらないところに拘って時間を無駄にするよな
0337デフォルトの名無しさん
2013/06/27(木) 13:08:41.59こういう話の流れがわかない書き込みってなんなんだろう。
いろいろ考えて自分の頭の中ではなんかストーリーがあるんだろうけど、エスパーじゃないからわからない。
0338デフォルトの名無しさん
2013/06/27(木) 13:10:22.92ごくろう
話は終わったんだよ
0339デフォルトの名無しさん
2013/06/27(木) 13:11:15.130340デフォルトの名無しさん
2013/06/27(木) 13:17:22.61>>336 はエスパーだけどわからん。
0341エスパー
2013/06/27(木) 13:45:55.470342デフォルトの名無しさん
2013/06/27(木) 21:55:43.73static = private
0343デフォルトの名無しさん
2013/06/27(木) 22:25:42.00こういう定義がふくまれるヘッダーファイル
arrayを使っている(定義している)モジュールをリンクしなければarrayの領域は確保されないが、
int array[10000];
では、使う使わないに関わらず領域が確保されてしまう。
要約するとQzはうんこ
0344デフォルトの名無しさん
2013/06/27(木) 22:27:38.84要約するとQzはうんこ WWWW
0345デフォルトの名無しさん
2013/06/27(木) 22:29:37.450346デフォルトの名無しさん
2013/06/27(木) 23:35:43.97いつものお客さんがご指名よ
0347デフォルトの名無しさん
2013/06/28(金) 19:11:21.34externって実体じゃないから、違うんじゃね
0348デフォルトの名無しさん
2013/06/29(土) 00:08:36.30全然かからないのは、やはりでかいからか?
0349デフォルトの名無しさん
2013/06/29(土) 09:56:01.76今回は具体的にはsqlite3_closeを実行するとsqlite3_freeが
呼ばれているのかどうかを知りたいだけなのでドキュメントを見れば解決しそうなのですが、
普遍的にこういういのをプログラム上から調べる方法があったら教えてください。
0350デフォルトの名無しさん
2013/06/29(土) 10:00:09.50> 普遍的に
ない。
以上。
0351デフォルトの名無しさん
2013/06/29(土) 10:11:15.42ない
必要なら自分でアロケータを書くしかない
0352デフォルトの名無しさん
2013/06/29(土) 11:54:53.530353デフォルトの名無しさん
2013/06/29(土) 12:00:32.81今回は具体的にはsqlite3_closeを実行するとsqlite3_freeが
呼ばれているのかどうかを知りたいだけなのでドキュメントを見れば解決しそうなのですが、
普遍的にこういういのをプログラム上から調べる方法があったら教えてください。
0354デフォルトの名無しさん
2013/06/29(土) 12:09:23.930355デフォルトの名無しさん
2013/06/29(土) 12:12:49.27freeを全部上に置き換えてpがNULLだったらfree済みだし何回でもfreeすればいい
0356デフォルトの名無しさん
2013/06/29(土) 12:50:15.90それはFREEされたかどうか、NULLが入ってるかどうかを調べるということであって、
freeされたかどうかを知る手段ではない。
質問の意図が分からないゴミはカキコするな。
0357デフォルトの名無しさん
2013/06/29(土) 12:57:48.430358デフォルトの名無しさん
2013/06/29(土) 13:22:22.73そのうち、例外が発生してくれる
0359デフォルトの名無しさん
2013/06/29(土) 13:24:00.87メモリプールだったらアウト
0360デフォルトの名無しさん
2013/06/29(土) 13:42:36.64sqlite3_close 内で sqlite3_free が呼ばれるかまで含んだ話だから
free をマクロで置き換えるとかじゃどうしようもない
sqlite3_close の実装が変更できる状況であればソースがあるわけで、
sqlite3_free を呼んでるかはソース読めば分かるわけだし、
最悪分からなくてもログ仕込めばいい
実装を変更できない状況でどうするかとなると、
free や sqlite3_free などの後に実行するとエラーになる処理や
free や sqlite3_free などによるメモリ上の何らかの変化の存在が分かれば、それで判別できる
あとはリバースエンジニアリング、
あるいはライブラリファイル内の free や sqlite3_free などのコードを
ログ出すだけの処理に改竄するとか
0361デフォルトの名無しさん
2013/06/29(土) 13:52:38.56デバッグシンボルつけてビルドして、ステップ実行すればいいだけじゃん
評価版の最新 bcc32 をインストールすればオプション -v -vG でメモリーリークが調べられますよ
0363デフォルトの名無しさん
2013/06/29(土) 15:28:34.86けっこー便利なんだけど
まあ自前でアロケータを書くのも経験として悪くないとおもいます >>349
0364デフォルトの名無しさん
2013/06/29(土) 15:37:23.990365デフォルトの名無しさん
2013/06/29(土) 17:24:57.69ロジックに関係なく機械的にポインタにNULL入れるテクニックを薦める人が多いけど
それ以前に、変数のスコープを小さくするとか、使いまわしはやらないとか、お作法的な
部分を守るようにしたほうがいいな。
0366デフォルトの名無しさん
2013/06/29(土) 17:32:14.26sqlite3には自前のメモリ管理ルーチンを使うように設定するAPIが有るから、
_close中で_freeが呼ばれている事は容易にわかるが、
そもそも_freeに渡して良いポインタはユーザプログラムには渡されないので調べるべきポインタなどない。
0367デフォルトの名無しさん
2013/06/29(土) 17:33:40.42メモリ破壊が一番頭を悩ます言語なんだから
考えられる対策は全て施すべき
0368デフォルトの名無しさん
2013/06/29(土) 17:39:57.73会社によっては関数の最初に変数を全部定義するのがマナーだよ
作法なんて文化が変われば通用しないから機会的に処理できる方法が優れてる
0369デフォルトの名無しさん
2013/06/29(土) 17:54:34.44Cならそれが普通だと思うけど。
関数の途中で宣言しようと思ってもブロックの先頭でしかできないし。
0370デフォルトの名無しさん
2013/06/29(土) 17:58:48.800371デフォルトの名無しさん
2013/06/29(土) 17:58:58.41まあ、30年くらい前のCOBOLのお作法でJavaのコードを書いてるような会社とか知ってるし、
そういう文化の会社で普通のJavaらしいコードを書いたら逆にヘタクソって言われるのも分かるけど、
まあ一般論でいいコードと悪いコードってあるでしょ。
0372デフォルトの名無しさん
2013/06/29(土) 18:02:58.79関数の先頭以外での定義を禁止している老害が居るって事だろ。
都市伝説じゃなくて、実在するのか?
0373デフォルトの名無しさん
2013/06/29(土) 18:05:38.01C99なら出来るぞ
gcc使えば自然とC99の書き方にならないか?
0374デフォルトの名無しさん
2013/06/29(土) 18:06:17.74C89はブロックの先頭以外で宣言できないけど、都市伝説って言われるくらい世の中C99ばっかりなのかね。
0375デフォルトの名無しさん
2013/06/29(土) 18:08:27.150376デフォルトの名無しさん
2013/06/29(土) 18:22:28.20読解力が欠如してるな。底辺コーダーはそれでもつとまるのか?
禁止しているコーティング規約が存在するという都市伝説
0377デフォルトの名無しさん
2013/06/29(土) 18:23:44.40マジかw 使ったことないから知らんかったわ。いまだにC89最強か。
0378デフォルトの名無しさん
2013/06/29(土) 18:24:45.820379デフォルトの名無しさん
2013/06/29(土) 18:25:50.480380デフォルトの名無しさん
2013/06/29(土) 18:27:45.760381デフォルトの名無しさん
2013/06/29(土) 18:29:42.410382デフォルトの名無しさん
2013/06/29(土) 18:32:49.66読解力ないし無闇に煽るし、すごいザコっぽいな。
「ブロックの先頭以外では」っていうのはブロックの先頭なら関数の途中でも宣言できるって意味だよ。
0383デフォルトの名無しさん
2013/06/29(土) 18:35:35.44まじってくるから紛糾するんだと思うわ。
0384デフォルトの名無しさん
2013/06/29(土) 18:39:58.60Cで変数は全部宣言と同時に0やNULLで初期化するってルールも見たことあるな。
で char[] なんかはmemset()で0埋め。
これも未初期化の変数を参照したら警告を出すコンパイラの機能をつぶすダメルールだな。
0385デフォルトの名無しさん
2013/06/29(土) 18:45:12.31そんなのあてにしてる奴がおるんか
0386デフォルトの名無しさん
2013/06/29(土) 18:48:09.59あてにしてるかどうかとは別の話。
0387デフォルトの名無しさん
2013/06/29(土) 18:49:24.07「関数の先頭以外での定義を禁止してる老害」を都市伝説と言ったわけだが。
「ブロックの先頭以外」とか誤読した池沼でも煽られると怒るのか?
その怒りは可哀想な頭に産んだお前の親に向けろ。
0388デフォルトの名無しさん
2013/06/29(土) 18:51:36.94不定な状態の変数を減らすと言うのは一定の効果があると思うよ。
100回やったら 100回ともに変な答えが出るならテストで検出も容易だけど、
100回やったら 1回だけ変な答えが出るバグはテストをすり抜けることがある。
0389デフォルトの名無しさん
2013/06/29(土) 18:53:09.12人間の注意力に頼るよりツールに警告を出させたほうが安全だわ。
0390デフォルトの名無しさん
2013/06/29(土) 18:58:33.460になっているというケースは考えられる。
この手の議論はケースバイケースだから立場によっては
見解が大幅に変わってくる。
0391デフォルトの名無しさん
2013/06/29(土) 18:58:49.36if(条件式2)
if(条件式3)
else
と
if(条件式1)
else if(条件式2)
else if(条件式3)
else
で挙動が違うことってありますか?
0392デフォルトの名無しさん
2013/06/29(土) 19:00:14.13逆にバグってるのに、一見ふつうに動いているように見えてバグ発見を遅らせる効果もあると思うわ。
っていうか、防御的プログラミングと称して、バグっても動くような工夫をいい習慣と思ってる人多いね。
0393デフォルトの名無しさん
2013/06/29(土) 19:00:24.32その時点ですでに挙動が違う。
0394デフォルトの名無しさん
2013/06/29(土) 19:01:33.56下は各処理が排他的に実行されるけど上はそうでない。
0395デフォルトの名無しさん
2013/06/29(土) 19:03:31.54SEGVはバクだけどそれ以外なら仕様ですから。
0396デフォルトの名無しさん
2013/06/29(土) 19:08:03.08見当違いの論点で煽りだして、それが勘違いだと指摘されても最初に高飛車に煽りだしたのは
自分だから議論を引っ込められなくて勘違いを押し通そうとしてるのかな。
だれでも勘違いはあるから、やっぱ無闇に人を煽るのはよくないないね。
0397デフォルトの名無しさん
2013/06/29(土) 19:15:15.85バグもなく完璧に仕上がりましたがベストだけど、
バグって納期に間に合いませんでしたより、
潜在バグはありますがとりあえず正常動作しますのがマシ
0398デフォルトの名無しさん
2013/06/29(土) 19:15:53.53バカがまだわからんのか。
>>368の
> 会社によっては関数の最初に変数を全部定義するのがマナーだよ
に対して
>>369
>Cならそれが普通だと思うけど。
とマヌケ過ぎる突っ込み入れたお前の読解力が残念過ぎる
0399デフォルトの名無しさん
2013/06/29(土) 19:30:00.58>>394
ありがとうございます。
すいません、言葉足らずでした。
条件1,2,3はそれだけで排他的であるという状況のもとでのことです。
0400デフォルトの名無しさん
2013/06/29(土) 19:45:57.71それをうまく利用して初心者に潜在的なバグを仕込ませてるのが皆さんご存知の片山
0401デフォルトの名無しさん
2013/06/29(土) 20:01:30.17情報の後出しか、荒らしだな
さっさと消えろ
荒らしでないなら足りないのは言葉ではなくお前の頭
プログラミング以前の問題だからさっさと消えろ
0402デフォルトの名無しさん
2013/06/29(土) 20:09:41.19俺はお前の方が荒らしだと思う。
0403デフォルトの名無しさん
2013/06/29(土) 20:19:14.66先ず、自分で試してみて
その上で、こうなるはずと思ったことと、結果が違うかどうかを確かめて
そのくらいはしておいたほうが良いと思った。
0404デフォルトの名無しさん
2013/06/29(土) 20:20:17.74Rubyでオブジェクト指向やクラスとインスタンスの関係を理解したら
構造体型とやらの概念やメリットも理解できるようになりました
構造体型変数の宣言というのは、要はオブジェクト指向言語で
クラスのインスタンスを生成してるようなものだったんですね
0405デフォルトの名無しさん
2013/06/29(土) 20:23:02.48{} 付けてみ
if(条件式1)
if(条件式2)
if(条件式3)
else
↓
if(条件式1){
if(条件式2){
if(条件式3){
else{}
}}}
if(条件式1)
else if(条件式2)
else if(条件式3)
else
↓
if(条件式1){}
else if(条件式2){}
else if(条件式3){}
else{}
0406デフォルトの名無しさん
2013/06/29(土) 20:32:44.51まあそうだね、ただスタックに生成するのとヒープに生成するのとは区別するのがC/C++
0407デフォルトの名無しさん
2013/06/29(土) 21:13:06.64いや、すごいまともなツッコミだわ。
0408デフォルトの名無しさん
2013/06/29(土) 22:50:57.07scanf用の入力フォーマット指定子の中に、
unsigned charの場合が載っていません。
どのように指定したらいいですか?
0410デフォルトの名無しさん
2013/06/29(土) 23:55:19.01早く消えろ
二度と来るなキチガイ
0411デフォルトの名無しさん
2013/06/29(土) 23:59:58.82unsigned charでも%cやら%sをつかっておけばいいんじゃないの?
charがsignedかunsignedかは環境によって違うし。
0412デフォルトの名無しさん
2013/06/30(日) 00:00:54.30お前がキチガイだろ
0413デフォルトの名無しさん
2013/06/30(日) 00:09:36.33よう基地害。
お前自覚ないの?
0414デフォルトの名無しさん
2013/06/30(日) 00:11:54.690415デフォルトの名無しさん
2013/06/30(日) 00:32:01.94よおキチガイ
0416デフォルトの名無しさん
2013/06/30(日) 01:09:09.99そのクソページに書かれてないだけで、正式な規格書には書かれている。
初心者はまともな書籍で学ぶべき
0417デフォルトの名無しさん
2013/06/30(日) 01:09:16.380418デフォルトの名無しさん
2013/06/30(日) 01:25:14.60うらやましいです。
0419デフォルトの名無しさん
2013/06/30(日) 01:28:49.150420デフォルトの名無しさん
2013/06/30(日) 05:32:06.68MSVCもようやく少しはマシなコンパイラになるらしいぞ
0421デフォルトの名無しさん
2013/06/30(日) 06:45:28.80だよな
何でもタダでやろうとする乞食根性丸出しの初心者は消えればいいのに
0422デフォルトの名無しさん
2013/06/30(日) 07:45:43.51煽って回答を得ようとするクソ質問者
この板にはその手法を常用するクソコテが粘着してるので通用しない。
本当か?
手元のISO/IEC9899:1999 7.19.6.2.12 には書式指定子に %c のunsigned charの場合なるものは存在しないが?
頭沸いていないか?それとも自治スレで完敗したのでまた荒しに来たのか?
巣ではお前の回答を今か今かと待っているぞ?はやく巣に戻れ
0425デフォルトの名無しさん
2013/06/30(日) 08:40:02.39自治スレ? そんなクソスレ知らねーな
おそらくお前が持ってるのは違法アップロードされた偽物なんだろ。
正規版にはunsigned charへの変換指定が書いてある
0426デフォルトの名無しさん
2013/06/30(日) 09:11:11.21これはホットラインセンターに通報した方がいいって事?
0427デフォルトの名無しさん
2013/06/30(日) 09:22:16.90本物にはポータブルじゃないと明記されてるのに。
偽規格書 ワロタ WWWW
0428デフォルトの名無しさん
2013/06/30(日) 10:31:49.60なんか出ないんですが。
0429デフォルトの名無しさん
2013/06/30(日) 10:33:58.430430408
2013/06/30(日) 10:41:30.39ありがとうございました。
0431428
2013/06/30(日) 10:49:26.64typedefしても警告が出ませんでした。
gcc-4.7.2
>gcc -Wall test.c
>else: 100
typedef enum {
FALSE = 0, TRUE = 1,
} BOOLEAN;
int main(void) {
BOOLEAN flag;
flag = 100;
if (flag == TRUE) {
printf("true: %d", flag);
else if (flag == FALSE) {
printf("false: %d", flag);
} else {
printf("else: %d", flag);
}
return 0;
}
0432デフォルトの名無しさん
2013/06/30(日) 10:54:30.23int main(void)
{
enum { x };
x = 1;
return 0;
}
0433デフォルトの名無しさん
2013/06/30(日) 10:54:42.380434デフォルトの名無しさん
2013/06/30(日) 11:08:06.93enumはchar, signed integer型又はunsigned integer型と互換って正規版の規格書には書いてある。
偽規格書になんて書いてあるかは知らない WWWW
0435デフォルトの名無しさん
2013/06/30(日) 11:15:35.67定数への代入ではなくて、やっぱりenum変数への数値代入です。
>>433-434
え?互換なんですか?!と思って、sizeofしてみたら4バイトありました。ありがとうございました。
typedef enum TAG_BOOLEAN { FALSE = 0, TRUE = 1 } BOOLEAN;
int main(void) {
BOOLEAN flag = 10;
printf("flag:%d sizeof(%d)", flag, sizeof(flag));
return 0;
}
>flag:10 sizeof(4)
0436デフォルトの名無しさん
2013/06/30(日) 22:09:44.39レス代行をお願いしているため、レスが遅くなってすみません。
普遍的な方法は無く、個々にソースを当たるしかないと言うのを理解しました。
ありがとうございます。
まっ正確にはTC2なんだけどね.
でも,
>正規版にはunsigned charへの変換指定が書いてある
真っ赤な嘘ですねえ,だって,JIS 検索 http://www.jisc.go.jp/app/pager?id=1267490 で JIS X3010 7.19.6.2 を検索しても unsigned char 用の書式指定子なんて見つかんないですからね
お前さんは scanf() 系のどの書式指定子を unsigned char 用だと思ったの?
>>427
ISO/IEC 9899:1999 6.2.2.5
If the declaration of an identifier for an object has file scope and no storage-class specifier,
its linkage is external.
変数でファイルスコープで extern が書いてなかったら,それは外部リンケージ扱いだよ,ってかいてあるしね.それと ISO/IEC 9899:1999 6.9.2.2 を合わせて考えると extern なんて要らない子なんじゃないかな‥‥
少なくともリンカ次第で C の言語仕様書に書かれる話じゃないし.あと,あくまで C の話ね,C++ じゃないよ.
>>426
そんなもんが pdf でほいほい転がってるの?
>>427
>本物にはポータブルじゃないと明記されてるのに。
該当箇所を引用してみてよ.それで当否を客観的に判断できるでしょ,JIS X3010 でもいいからさー,それとも引用できないほど自信が無いの?
引用する際にはちゃんと引用元を明記しないと,著作権法第48条の3 に違反し,同法122条によれば50万以下の罰金だそう,あと同法123条により親告罪じゃないから,場合によっては起訴されるかもしれないよ.
0438デフォルトの名無しさん
2013/06/30(日) 23:12:52.26全部まとめてアマゾンギフト10万円で教えてやるよ。 WWWW
該当箇所を引用してみてよ.それで当否を客観的に判断できるでしょ,JIS X3010 でもいいからさー,それとも引用できないほど自信が無いの?
0440デフォルトの名無しさん
2013/06/30(日) 23:29:12.03全部まとめてアマゾンギフト10万円で教えてやるよ。 WWWW
騙し取られるのが心配なら、詐欺った場合は刑事事件で告訴すりゃ良いだろ。WWWW
該当箇所を引用してみてよ.それで当否を客観的に判断できるでしょ,JIS X3010 でもいいからさー,それとも引用できないほど自信が無いの?
0442デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN全部まとめてアマゾンギフト10万円で教えてやるよ。 WWWW
騙し取られるのが心配なら、詐欺った場合は刑事事件で告訴すりゃ良いだろ。WWWW
該当箇所を引用してみてよ.それで当否を客観的に判断できるでしょ,JIS X3010 でもいいからさー,それとも引用できないほど自信が無いの?
あと
>騙し取られるのが心配なら、詐欺った場合は刑事事件で告訴すりゃ良いだろ。
意味不明。大丈夫?豆腐の角にぶつけてみるといいよ
0444デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN自信があるから教授料を要求してるわけだ。WWWW
教授料の支払いを約束するなら、先に>>416を教えてやってもいいぞ。 WWWW
0445デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN>>343に反論してみろ WWWW
0446デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANごめんね: keyword:Qzでアボーンしていたので見てなかった
ふむ、ひとつの makefile で複数のバイナリ(サーバープログラムとクライアントプログラム、とか)を生成するとき、
特定のバイナリは、くだんのヘッダは読むけれどもそのヘッダにimplyされている全機能や array[] を使うとは限らない、ということはありうるわね
でも手元の gcc では、使わなければ int array[10000] であっても増えないね
ideone ではこうだった
http://ideone.com/Digq4t
http://ideone.com/aYFG9w
>int array[10000];
>では、使う使わないに関わらず領域が確保されてしまう。
処理系依存じゃないの?
処理系依存にうるさい人が処理系依存の事例を挙げるなんてダブルスタンダードもいいとこだね
>>445
回答しといたよ
これは授業料なしで引用していただける資格があると思うよ
0448デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN手元の cygwin では、-static を付けても dll まではリンクしてくれないから、例示としては不徹底だけれども http://codepad.org/DUJxHDoV
>定義のみで使われない変数や関数はコンパイル時に削除される
そういう賢い処理系もあるようだね。シェアードライブラリのヘッダだったらその中の int array[] とかはどうなるの?
>>445
回答しといたよ
これは授業料なしで引用していただける資格があると思うよ
おっと肝心なところがぬけてたねhttp://codepad.org/wHHXCR5m
なんだか我ながら連投連投で必死だね
こんだけ必死なんだから情けを恵んでやってもいいんじゃないかな >>445
0452デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN落第。先に教授料10万円はらいな。 WWWW
ideone.com/P9UkTE
ideone.com/TJH0fO
しかし、lsでプログラムのサイズ調べて、ドヤ顔するとは大笑い海水浴場だ。朝から腹痛てー WWWW
渾身の自爆ギャグに免じてこのレス自身は無料レクチャーにしてやるよ。 WWWW
>>448
アホは引っ込んで炉。仮定義オブジェクトの話してるんだから、コンパイラが削除するわけねーだろ。
リンカーなら出来なくはないが、参照され無くても存在する事に意味があるオブジェクトもあるので、
そういう機能が有ったとしてもオプショナルだ。
>>450-451
お前バカなんだから、朝から無駄なエネルギー消費すんな。 WWWW
>lsでプログラムのサイズ調べて、ドヤ顔するとは大笑い海水浴場だ
たしかに未初期化領域は BSS 領域に展開されるので実行ファイルのサイズをみてどうこうというというのはギャグだねえ
やっぱり >>343 は認めなくちゃいけないね
>お前バカなんだから、朝から無駄なエネルギー消費すんな。
ほんとだねえ、今日一日は交通事故に注意しよう‥‥‥
0454デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANうんそうだね、仮定義をコンパイラが削除するわけねーな
その続きがイミフだけど、仮定義って何だかご存知?
0455デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANそれじゃ、教授料10万円相当は先払い。
後払い権得られるチャンスだったのに残念だったな。 WWWW
>>454
仮定義オブジェクトをコンパイラが削除するとか言い出す初心者にはわからなくても無理はない。WWWW
レクチャーしてやろうか?有料で WWWW
0456454
2013/07/01(月) NY:AN:NY.ANキョージュさん、俺の言ったことよく読んでね
0457デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN>その続きがイミフだけど、
イミフなのはお前が低脳だから。レクチャーしてやろうか? 有料で WWW
> 仮定義って何だかご存知?
知ってるけど、それがなにか?WWWW
0458デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANイミフが意味不明だったんなら、もっとはっきり言ってやる
仮定義はリンカも削除はしねえんだよ、出来なくないんじゃない
0459デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANそういう機能を持つリンカー実在するけど、それが何か? WWWW
0460デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN環境依存スレへどうぞ
0461デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANつまり、>>452は全てのリンカーがそういう機能を持つという主張と誤読したのか WWWW
恐るべき低読解力 WWWW
0462デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0463デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN低脳はお前だよ
すごい誤読w
0464デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN>>460はお前じゃないという主張か。それなら>>459に戻る事になって
>仮定義はリンカも削除はしねえんだよ、出来なくないんじゃない
仮定義オブジェクトを削除する機能を持つリンカー実在するけど。WWWW
0465デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0466デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANそういう話になるとスレ違いだっつーの
頭悪いなあ
0467デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANいやどうも前頭葉に欠陥があるアホが一匹紛れ込んでるようで
0468デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANアホが二匹いるから荒れる
0469デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANお前一匹だけだよ馬鹿は
0470デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN>仮定義はリンカも削除はしねえんだよ、出来なくないんじゃない
これがスレ違いでは無く、
>仮定義オブジェクトを削除する機能を持つリンカー実在するけど。WWWW
これがスレ違い? バカの思考回路はまったくわからない WWWW
やっぱ、バカは駆逐すべきだな WWWW
0471デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANうん、スレ違い
それは環境依存の話
専用のスレがあるからそこに行って
0472デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANそんなら「イミフ」じゃなくて「スレ違い」だろ。 WWWW
バカの後知恵はやっぱりバカ WWWW
0473デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN今後 198ぽ と名乗ってくれ
0474デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN「イミフ」なんて言ってませんよ
人違いでは?
0476デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN引っ込むか引っ込まないかは俺が決める事
お前に言われる筋合いはない
0477デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANお前にたいして、引っ込んで炉とか死んでしまえとか駆逐してやるとか、罵る権利はオレの固有の権利
死んでしまえゴミクズ WWWW
0478デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
0479デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANこりゃいい
0480デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANこのようにIDなどなくても自分であぼ〜ん出来ます
0481デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0482デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANキチガイの発言を手であぼ〜んしてるだけだからな
0483デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0484デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0485デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANやっぱり頭おかしいな
0486デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANあぼーんされる→もはやレスを返す価値もない
0487デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN反論できなくて悔し紛れに勝利宣言して逃げてるのと同じように見えるわ。
0488デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN死んでしまえゴミクズ WWWW
0489デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0490デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0491デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0492デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN人の事を馬鹿呼ばわりする位しか出来ない
いい線いってたと思ったんだけど勘違いか?じゃ、>>343 回答を訂正するね
>extern int array[10000];
>こういう定義がふくまれるヘッダーファイル
ってことは、少なくとも一つどこかに実体を定義しているんだね。なお、extern だから宣言だね
>arrayを使っている(定義している)モジュールをリンクしなければarrayの領域は確保されないが、
>int array[10000];
>では、使う使わないに関わらず領域が確保されてしまう。
そりゃそうだがそのarray[10000] 含みのヘッダをインクルードするんだから
array[10000] を実質的に定義しているモジュールもいずれはリンクするんでしょう?
extern の有無に関わらず、その二つかそれ以上のモジュールで共用する array[] が一つ確保されるんだから問題ないんじゃないの?
え?array[10000] を定義しているモジュールをリンクしないの?そのヘッダをインクルードする .c ファイルが一つだけ?それってなんの意味があるの?
二箇所以上のところから参照されるからこそ、共通部分ヘッダとして切り分けて分割コンパイルするわけでしょ?
一つの *.c ファイルしかインクルードしないヘッダに意味はないし、そこで領域を無駄に確保するとかいわれてもねえ‥‥その array[10000] は .c に書くのが常識よね
同じ阿呆なら踊れ、踊りまくれ!!
>参照され無くても存在する事に意味があるオブジェクトもある
参照されなくても、というのはちょっと言いすぎだとおもうけど、volatile を付けたくなるやつが雰囲気似ているよね、まだまじめに使ったことは一度もないけれども
荒れているようにみえて結構たのしいんですけど
0497デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANバカをバカと罵って何が悪い。WWWW
今朝の自爆ギャグには感動したので、まとめてみた WWWW
www54.atwiki.jp/qzaw55cn4c/pages/16.html
0498デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANwindows.h
はい、論破 WWWW
>>495
> 参照されなくても、というのはちょっと言いすぎだとおもうけど、volatile を付けたくなるやつが雰囲気似ているよね、まだまじめに使ったことは一度もないけれども
全然違う。宿題コーダーには永遠に縁のないプログラミングテクニックだから知らんでもいい。WWWW
>windows.h はい、論破 WWWW
インポートライブラリ‥‥‥
0500デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN0501デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANちゃんとmutex使わないとやばい
0502デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANまだ足掻くのか? まとめるぞ WWWW
単一のヘッダーに複数のオブジェクトモジュールの宣言をまとめて記述する事は当たり前に行われている。
しかし、lsで調べるという発想には唯々、笑うばかりだ、あー腹痛てー
0503デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN動画にしてYouTubeにアップしてくれ
volatile だけじゃだめね、消えない呪文にすぎないから
>>500
全然、自信たっぷりじゃないと思うんだけれど‥‥
windows.h に仮定義が見当たらないのでちょっと困ってる
>>502
>一のヘッダーに複数のオブジェクトモジュールの宣言をまとめて記述する事
すりかえないでね。
今言及しているのは一つのオブジェクトモジュールでしか使用されない宣言をヘッダに追い出していること
*.lib や *.dll 用のヘッダでリンクないしはダイナミックリンクしたときに実体が増殖するものがあるの?
>lsで調べるという発想
たしかにどーかしてた、これは末代までの恥
0505デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN相手した俺がバカだった
0506デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.ANすり替えてねーぞ
複数のオブジェクトモジュールの宣言を一つのヘッダーファイルにまとめる事は常識
>>343は、その中の一つのオブジェクトモジュールがexternな変数を公開しているケースを指摘している。
windows.hはlsでファイルサイズ調べるような低脳だから、一つのヘッダーファイルにまとめるという常識がないと予想して例示したに過ぎない。 WWWW
いや、すりかえてるね。
windows.h に仮に仮定義があったとして、そうすると、windows.h がその宣言をとりまとめているオブジェクトモジュール(kernel32.dll, user32.dll, gdi32.dll) にその仮定義の実体があるんだよね
そのとき、windows.h の仮定義により、(ダイナミック)リンクした結果、その仮定義の実体が増殖するの?
>>343 は増殖すると主張しているように見えるんだけど。
>複数のオブジェクトモジュールの宣言を一つのヘッダーファイルにまとめる事は常識
で、そんなときに仮定義を使用してもその仮定義により共用される領域が一つつくられるだけで問題ないよね。
複数の *.c のヘッダを一つの *.h にまとめて書く状況において、リンクした結果仮定義を使用して「無駄な領域」が生成される事例があるのなら、例示してみてよ
0508デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANマジで入院してくれ
そのうちリアルで事件でも起こしそうな雰囲気
0509デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANほらよ、キチ外。まだ恥晒し続けるのか? WWWW
お前はヘボでこの板の最下層だって事を理解しろよ。 WWWW
w.c:
#include <windows.h>
int main(){ return 0;}
objidl.hをカレントディレクトリにコピーし、
objidl.hのEXTERN_C const IIDをなんでもいいけど、例えば
EXTERN_C const IID IID_IMarshal;を
const IID IID_IMarshal;に変更
cl -I. w.c /link /opt:noref /map
w.mapには
0003:00001ef0 IID_IMarshal 000000014000def0 <common>
と領域が確保されたことが出力されている
さっきの変更を戻し再コンパイルすれば
w.mapには当然のことながらIID_IMarshalのエントリは無い。
0510デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.AN>>497のWikiに是非まとめといてくれww
そして>>497のURLは次のスレの頭に貼ろうぜw
0511デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.AN0512デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.AN価値のある情報が一つもない肥溜めみたいなスレだなw
0513デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.AN0514デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.AN0515デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANhttp://livedoor.blogimg.jp/news23vip/imgs/1/d/1dba13cc.jpg
0516デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANlsの笑撃に比べると、まとめるモチベーション上がらない。WWWW
>>515
QzはJavaも知らないぞ。二分木を実装出来なくて、欠陥言語認定してる。 WWWW
0517デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANんなあほな。
0518デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANこれらのファイルをどう判別したらいいのでしょうか?
0519デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.AN0520デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANページ追加 WWWW
www54.atwiki.jp/qzaw55cn4c/pages/17.html
0521デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANナイスww
0522デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANmp4コンテナの仕様書を入手する。
それを参照してプログラムを作る。
0523デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANshort int sia = 32768;
の場合、
printf("sia=%d sia+1=%d\n", sia, sia+1);
で出力した場合、オーバーフローを起こして
sia=-32768 sia+1=-32767
となりますが、
short int sia = 32767;
の場合、上記同様の出力をおこなった場合、
sia=32767 sia+1=32768
となります。なぜsia+1はオーバーフローを起こさないのでしょうか?
0524デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.ANint に暗黙にキャストされてるんじゃね?
0525デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANやはり暗黙に型変換されてるっぽいんですね・・・。ありがとうございます。
環境:vs2010ee
0526デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANだな
前者も後者も sia + 1 を評価する前に sia が型プロモーションを受けてintに格上げされる
その場合short int = 16bit、int = 16bit or 32bit or 64bit だと、最上位ビットが符号ビットと
して扱われて int になるので負になる
0527デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0528デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN(short)(sia+1)
で、オーバーフロー(-32768)になりました。こんな書き方あるんですね。勉強になりました。
ありがとう。
0529デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN悪い癖があるからなあ
まあそのお陰で規格票の謎の文の意味が理解出来た事もあるけど
0530デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANオーバーフロー時の挙動は規格Cとして未定義なので
厳密には正しいCプログラムとして成立していない
(unsignedな変数の場合は別)
いくらなんでもそりゃすりかえでっせ.
調べるんだったら extern の有無によっては,リンク後の結果でライブラリ側のシンボル先のオブジェクトと呼び出し側のシンボル先のオブジェクトが同一じゃないことがあるってことじゃないかのう?
MSVC はよく知らんので mingw で示してくれんかのう
それにしても,ちっ,cl って,dll 内の変数をインポートするのに,いちいち __declspec(dllimport) つけなきゃならんのかよ,.わざわざ .def まで書かせといてこれかい,
link, おまえ, *.lib の中のシンボルくらいさがしてくれよー.
端から対称性がないんだったらこりゃ,ネタも使えんわ
http://msdn.microsoft.com/ja-jp/library/hyx1zcd3(v=vs.90).aspx
main.c http://codepad.org/XsM9VPRk
sub.c http://codepad.org/URWK3dP2
sub..h http://codepad.org/Q0LMfmMB
sub.def http://codepad.org/rMIhklQX
ふつうの makefile http://codepad.org/PFPv5wRU
dll を作る makefile http://codepad.org/gM6YbWIS
追加しといてね.
0533デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN出来ればC入門者の私にも解るように纏めて欲しい
0534デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANなんのためにffprobeがあるとおもってんの?
0535デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN>arrayを使っている(定義している)モジュールをリンクしなければarrayの領域は確保されないが、
こんな簡単なお題すら記憶しておけない低容量脳。WWWW
そんな脳だから何年やっても最下層のヘボからねけだせねーんだよ。WWWW
すりかえんなよ。WWWW
まあね
対称性ないしは直交性を追求しているだけなんでね
makefile を変えるだけで 静的リンクと動的リンクをすんなり変えることができればいいんだが、仮定義を絡めると実際の実装ではそうもいかないようだ
そもそも対称的とはいえない(例えば *.dll や *.so を作る人と使う人が同一とは限らない)場合も含めての、例えば extern 抜き主張が無理筋なのは、ある意味仕方のないこと
つきあってくれてありがとね
0537デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN一刀両断が鮮やかすぎて、うなじの急所を削ぎ落された事に気付いてないのか。wwww
> そりゃそうだがそのarray[10000] 含みのヘッダをインクルードするんだから
> array[10000] を実質的に定義しているモジュールもいずれはリンクするんでしょう?
これは完全否定されている。wwww
実例: windows.h wwww
削ぎ落した肉片を見せてやらないと気付かない奇行種。 wwww
巨人並みの生命力だけは評価してやる wwww
0538デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN> link, おまえ, *.lib の中のシンボルくらいさがしてくれよー.
dllの仕組みを理解してないのに無理してごまかそうとすると、こういう恥ずかしい発言することになる。wwww
自分の傷口に指突っ込んで広げる奇行種。wwww
0539デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN> つきあってくれてありがとね
降参か? 最下層のヘボという事を自覚する事だ wwww
↓これも取り下げか? wwww
それとも有料レッスンしてやろうか? wwww
From: [437] ◆QZaw55cn4c <sage>
Date: 2013/06/30(日) NY:AN:NY.AN
>正規版にはunsigned charへの変換指定が書いてある
真っ赤な嘘ですねえ,だって,JIS 検索 http://www.jisc.go.jp/app/pager?id=1267490 で JIS X3010 7.19.6.2 を検索しても unsigned char 用の書式指定子なんて見つかんないですからね
お前さんは scanf() 系のどの書式指定子を unsigned char 用だと思ったの?
0540デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANワロスwww
Wikiネタがまた増えたなwww
0541デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0542デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANqzはhh知らんのか
つかid=1267490って何処見てたんだ?
0543デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANおま、それは有料の情報。wwww
検索って言ってるから画像のpdfなのにctrl-fで文字列検索したんじゃないかな。wwww
0544デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN貧乏人ですまん。有料ページだったのかw
金出したのに見つけられないってことかwww
無料ページで検索かけてもすぐ見つかるのに何やってんだ奴はwww
0545デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0546デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANQzに有料でレクチャーしてやることにしていた情報。wwww
こんなクソみたいな情報でも持たない者にとってはとても重要。
知っていれば>>437のような醜態を晒さずに済む。wwww
0547デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANまあアレは自称上級者で宿題スレに他人のコードを平気で張るキチガイだからw
0548デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANJIS規格番号からJISを検索
「X3010」を入力。
PDFがダウンロードできるようになる。
著作権で保護されていることに同意する。
後は、分かるな。
無料なのに、試したことがないのか。
0549デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANそれIE9で何度も試したんだけど途中でDLが止まるんだよなあ
閲覧システムに欠陥があるんじゃねーの?
0550デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN多分システムの欠陥なんだろうね。
インストールされているアクロバットのバージョンも影響するようだ。
0551デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANreader古いんじゃね?
0552デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANAcrobat Reader XIだ
消して入れなおしたけどダメ
0553デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN最下層のヘボを笑ってやってくれ。wwww
MSCではシンボルに対して__declspec(dllimport)と指定して、
dllからインポートされるシンボルであることを指定できる。
| __declspec(dllimport) int aaa(void);
| int x(){ return aaa();}
これをコンパイルすると
| call QWORD PTR __imp_aaa
と間接コールのコードが生成される。ところが関数に関しては
__declspec(dllimport)は省略可能で
| extern int aaa(void);
| int x(){ return aaa();}
でも良い。これをコンパイルすると
| call aaa
と直接コールのコードが生成される。ところがこれではdllを呼び出せない
のでどうするかというとリンカーが頑張る。aaaがインポートライブラリ中
に見つかった場合は
|aaa:
| jmp QWORD PTR __imp_aaa
というコード断片を生成して間接コールにする。
0554続き
2013/07/03(水) NY:AN:NY.AN参照に関してはそうはいかない。
| __declspec(dllimport) int aaa;
| int x(){ return aaa;}
これをコンパイルすると
| mov rax, QWORD PTR __imp_aaa
| mov eax, DWORD PTR [rax]
と間接参照のコードが生成されるが、
| extern int aaa;
| int x(){ return aaa;}
で生成される
| mov eax, DWORD PTR aaa
ではリンカーがどんなに頑張っても間接参照にはできない。
これが関数では省略可能な__declspec(dllimport)が変数では必須である理由。
この本質を理解していれば、↓こんな恥を晒すことはない。 wwww
>>531
> それにしても,ちっ,cl って,dll 内の変数をインポートするのに,いちいち __declspec(dllimport) つけなきゃならんのかよ,.わざわざ .def まで書かせといてこれかい,
0555デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN今日だけでww
0556デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN無料版は嫌がらせの為に転送速度を絞っている。放置しとけばそのうち表示される。
0557デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN以前、Xにすると閲覧できなくなる不具合があった。
それ以前のバージョンだと閲覧できたんだよね。
Reader XI だと、できるようだけど。
0558デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN何かお勧めの本はありますか?
入門ならこれ読んどけってのあればよろしくお願いします
なるほどねえコンパイルの時点ではシンボルがどこに所属しているのかわかんないから仕方ないんだね
コールなら飛び先でいかようにも出来る(コードサイズが増加してもいい)がバイナリのどまんなかでオペコード/オペランドが増えようものならよそをPC相対ジャンプやPC相対コールにできたとしても対応できないや
久々に炎上学習ができて大満足
0560デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0561デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0562デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0563デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0565デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANそれもうっかり付け忘れたのを壮大に自爆したり
0566デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0567デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANなにそれおもしろそうkwsk
0568デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN予告犯
http://blog.livedoor.jp/goldennews/archives/51742859.html
0569デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN0570デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANどなたかご教授お願いします
0571デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN普通に
<< "\""
じゃダメなの?
試してないけどね。
0572デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.ANありがとうございます!
まだコンパイルしてないけど、いけそうです!
遅くなりました。ありがとうございました。
0574デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANお前は絶望的に頭が悪いから最下層からは抜け出せない。WWWW
ある程度の経験があれば変数のインポートにdllimportが必須になってる事に疑問を持って、正解に辿り着ける。普通は。WWWW
わざわざ礼をすることで、炎上学習だったと己を慰めるしかない自己愛性パーソナリティ障害者惨め WWWW
0575デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANQみじめwww
0576デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN2分40秒と4分40秒のやつ
俺がキッチンとパソコンの前を行き来する時間20秒を引いてある
0577デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN100均でキッチンタイマー買ってきた方が
早いんじゃないの
0578デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANダイソーで105円で買って来る
0579デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANそれはだめだ
近くの100均でも一番早くて朝の9時半からだ
あと6時間以上待たなくてはならない
それなら今から1時間かけてでも作ったほうが早い
金もかからないし
それともう一つ
部屋の中に物を増やしたくないというのもある
電子データで済むなら電子データで済ませたい
0580デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN目の前のPCの時計を使う
0581デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN5%以内の誤差まで勘を鍛える
0582デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN今はそうしてるが、
ちょっと一瞬コーディングしようと思って始めると、
気付いたときには10分経ってたなんてことがよくある
>>581
もう少し確実性が欲しい
いいかみんな、
何か勘違いしてるようだが、
ここはム板でありC言語スレだ
そして俺はC言語でラーメンタイマーを作りたいんだ
だからここで質問している
0583デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANプラットフォームは何だ?
0584デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN>>559〜>>574 の時間差の方が絶望的
0585デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN0586デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN$ sleep 4m 40s && aplay alerm.wav
0587デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANその間は必死でgoogleを酷使していたのだろう。 WWWW
最下層のヘボには無理に決まってるのに。 WWWW
結局、さすがのgoogleも無いものは検索できなくて、炎上学習法と後付けする事で
一矢報いたつもりになってるんだろうな。惨めすぎる。 WWWW
0588デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN5分くらい指折り数えて我慢しろよ。声に出して数えるのもいいぞ。
0589584,585 ◆QZaw55cn4c
2013/07/04(木) NY:AN:NY.ANgoogleやmsdn酷使はむしろ >>509〜>>531〜>>554、というか節をまげて VC++2010 をインストールするところからスタート
>>559 〜 >>573 はむしろ内省の期間
前回のバッファオーバーランの時もそうだが、口汚い罵りとフォローが丁寧なことの落差に唖然
0590デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANほらあれだ、砂漠の砂に頭を突っ込んで「これでライオンに追いかけられる事もない」
と言っているラクダの話を思い出す(笑)
0591デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN0593デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANtime(&time1);
for (;;) {
time(&time2);
difftime(&time2, &time1) が 予定時間経過したら脱出
}
時間が経ったことを伝える
こんなもん。 小奇麗な窓でとか音を鳴らすとかそういうのは別の話
0594デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN0595デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN0596デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANラーメンタイマーというのは適切ではないな
インスタント麺類タイマーにしてはどうだろうか
0597デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN知識が昭和で止まっていてもまともな知能があれば推論できるし、
規格書は昭和から変わらず英語や日本語で記述されいるので理解
するために平成の知識は不要。
脳に機能的な障害があるのだろう。WWWW
0598デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN0599デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.ANおいおい
qzに知能があると思っていたのか?
あれはコピペ厨だぞ?
0600デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN0601デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN#include <time.h>
int main(){
time_t time1 , time2;
time(&time1);
for (;;) {
time(&time2);
if ( difftime(time2, time1) >= (60*2+40) ) break;
}
printf( "Let's go!\n" );
return 0;
}
こう?
CPUのコアの一つが100%に張り付くんだが・・・・・
あと、小奇麗なインドウは要らない
コマンドラインで十分
だけど何かしらの音は鳴らしたい
0602デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN間にSleepっぽいのを挟めばおk
0603片山博文MZパンク ◆0lBZNi.Q7evd
2013/07/04(木) NY:AN:NY.ANprintf("\a");で音は出せる
0604デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN0605デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN標準関数郡の縛りで busy wait を排除する方法ある?
0606デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANとりあえず依頼者はWindows限定としていいんじゃない?
0607デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANsystem で待つ
0608デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANもしそうならそれを回避する方法がありますか?
0609デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANC言語の質問じゃねーだろ消えろゴミ。
0610デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN" "←スペースということ?
どういう読み方をするのか、ソースを示してみて
0611デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN0612デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANchar st[]="x";
if(st[i]!='\0')
{
count++;
i++;
}
xは.datから読み込むようにしまして、内容は
" tes des "
の両端の""を除く10バイトです
countをprintfするようにして実行すると5になるはなぜだと考えられますか?
0613デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN0614デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN.datファイルは何の関数で読み込んでるの?
fgets()とか?
0615デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.ANが
char str[] = "x"; とした後、変数 str に対して 10バイト書くのはバッファ突破してる
(x[\0] の2バイト分の器しか用意されていないので)
0616デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN0617デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN#include <stdio.h>
#include <windows.h>
int main(){
Sleep(60*2+40);
printf( "Let's go!\n" );
}
>>602,>>604
こうですか?
わかりません><
調べたんだけど、音はMCIとかってのを使うみたいだな
そうすれば何かしらの音を出せるっぽい
難しいな
0618デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANsystem("らーめんできた.wav");
でいける
関連付けができてればmp3でもoggでもmpgでもaviでもいける
0619デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANプログラムいらんわ
0620デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANSleep の単位はミリ秒だから1000倍しないと
0621デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN#include <windows.h>
int main(){
Sleep((60*2+40)*1000);
printf( "Let's go!\n" );
system( "happysynthesizer.mp3" );
}
>>618
あざっす
system初めて使った
>>619
>>620
あれはうっかりミスw
みんなありがとう
とりあえず何とか完成した
今後はこういう簡単なものから順次ステップアップしていく予定
次はMMORPG用の汎用鯖を開発する
0622デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANMMO鯖の仕様書が完成した
http://www.age2.tv/rd05/src/up9968.png
だから次はLinuxで開発することになるな
今日の作業はここまで
0623デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN> 次はMMORPG用の汎用鯖を開発する
#include <windows.h>
int main(){
system("mmorpgcommonserver.exe");
}
0624デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANそれだとWMPが起動するのにかかる時間も考慮しないとだめじゃね?
0625デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANvipprogのプログラミング言語スレまとめ?みたいなので
#include <stdio.h>
void inc(int x){
x = x + 1;
}
main(){
int a = 5;
inc(a);
printf("%d\n", a);
}
で実行結果が
5
になる理由を読んだのですが、全然分かりません。
void inc(int* x){
*x = *x + 1;
}
というようにポインタを使えば6になる理由も分かりません。
無能ですみませんが教えていただけないでしょうか。
0626625
2013/07/06(土) NY:AN:NY.AN間接代入的なことするんですね
0627デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANmain関数から"コピー"して持ってきただけ(値渡し)だから
main関数内の変数は影響されない
詳しくは値渡しと参照渡しで
0629デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANしても文字列が消えないんですがおかしいですか?
printff("hello");
fflush(stdout);
hello残ったままです。
0630デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0631デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN> printff("hello");
確かに、残ってるのはおかしいな。
そもそも、普通にやるとリンクでエラーになると思うが。
0632デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN消す機能はない。
0633デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANこの3者を正確に理解しなければ道は開けない
0634デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN何故fflushが必要なのか分りません。
fflushって何の役割なんですか?
言葉の意味的にはフラッシュつまり消すという意味なんですけど。
0635デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANあんたバカなの?
言葉の意味的にはバカつまり素晴らしいという意味なんですけど
0636デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANprint("hello world ")
fflush(stdout);
sleep(pow(10,3))
print("\rheilo world")
でそうなりますし。
fflushないとバグります。
0637デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN> フラッシュつまり消すという意味なんですけど。
はあ?
辞書ちゃんとひいてこい。
0638デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0639デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0640デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANコピペですよ。
コピペは正しいんだからfflushの用途も正しいんでしょうね。
まぁ技術的難点はこういうものだって覚えておいたほうがいいでしょうかな。
0641デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0642デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN出力せずにバッファ(メモリ)に溜めておいて、一定量出力がたまったら
まとめて出力するって動作をするから、printf()を呼んでもバッファに溜まる
だけで実際には出力されないことがある。
バッファの内容を強制的に出力したいときにfflush()を使う。
0643デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0644デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANscanf()の後だと分かるけど。
それとバッファってコマンドラインの事ですか?
それも曖昧で分りません。
0645デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANscanf()の後で使っている奴がいたら、用法の誤り。
0646デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANどこからコピーしたコードなんだろうか
0647デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANsetvbuf で _IONBF を指定しろ
0648デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN>>636 print("hello world ")
確かに、未知だわ (w
0649デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0650デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANだから本来なら出力される値を
fflushによって書き込まないようにするんでしょ?
そういう理解です。
0651デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0652デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN「クソ食らえ」、つまり意訳すると「どうぞ、糞をお召し上がりください」という事ですね
チョンにとってはご褒美
0653デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN逆だ。
出力される予定だけどまだ出力されてない値を強制的に出力させる操作。
0654片山博文MZパンク ◆0lBZNi.Q7evd
2013/07/06(土) NY:AN:NY.AN0655デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0656デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN区別しないと。
0657デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN\rってGUI的な機能ですよね。書いた文字を消すなんて....
端末プログラミングでこんな事ができることに驚いた。
0658デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANプリンタデバイスにリダイレクトし
文字多重書きで細工(下線つけたり 打ち消し線いれたり)という技巧も昔はやってたな
0659デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANしかも英語としても意味が違うし
トイレでジャーって流すのがフラッシュだよ
まだ出力してないで溜めておいた内容を
全部出力するのが fflush だよ
0660デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANttp://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/fflush.3.html
>標準では、入力ストリームに対する動作は規定されていない。
>>650,655
ま、どうしても違うと思いたいなら、それ以上は何も言わないけど・・・。
0661デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN俺も大変驚いている
0662デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0663デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANと書きたかったけど、よくよく見たらどう見ても Windows で
やってるんだろうな。
cmd.exe もエスケープシーケンスぐらいサポートすればい
いのに…
0664デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANでもscanfでキー入力待ちをしておいてプログラムがそのまま進行するのは
何故ですか?ブロックは落ちますよね?scanfを時間制限かけてスルーしたり
できるんですか?
0665デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANGUIから入った人には、\rの動きはイメージ沸かないかぁ。
といっても、私も辛うじてラインプリンタがあったくらいの時代だから、テレタイプとかはしらないけど。。。
0666デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANGUI こそ \r の使いどころ
0667デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANコンパイラの方言、若しくは特定のOSであるのでしょう
標準関数には無いよね?
0668デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN計算結果を出力するだけの端末プログラミングに必要とされない
からね。\rとか\bとかは異常。
0669デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN//mmo_server.c
int main(){
InitSystem();
StartDataThread();
StartGameThread();
StartNetworkThread();
StartAdminThread();
while(1){
//スレッドの終了チェック
//終了フラグが立ったら全スレッドを終了させて抜ける
//どれか一つのスレッドが終了した場合も異常とみなして他のスレッドを終了させて抜ける
}
return 0;
}
0670デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN仕様書を読むのに慣れてない人のために軽く説明しておく
□データスレッド
アカウントやキャラクターデータの入出力を行う
設定により、ファイル、データベース、データベース鯖など複数の選択肢を提供する
保存データの入出力を制御するスレッドであり、データそのものは保持しない
□ゲームスレッド
ここがメイン
キャラクターの移動、攻撃、防御、ステータスの変化、などのあらゆるデータを処理する
ファイルやデータベースなどにデータを保存する際にはデータスレッドへデータを投げる
処理結果の送信データは通信スレッドに投げる
□通信スレッド
受信したデータはゲームスレッドに投げ、ゲームスレッドから投げられたデータは各ソケットに送り出す
投げるってのは専用のキューを用意しておきそこに積んでいくことを指す
データスレッドとゲームスレッドの間にはデータ→ゲーム用と、ゲーム→データ用の2つのキュー、
ゲームスレッドと通信スレッドの間には、ゲーム→通信用と、通信→ゲーム用の2つのキューが、
アクティブなキャラクターの数分必要
0671デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN管理のための接続専用スレッドだ
起動した後はここから各種情報を見たり設定変更、鯖の終了等を行う
0672片山博文MZパンク ◆0lBZNi.Q7evd
2013/07/06(土) NY:AN:NY.AN0673デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0674デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANhttp://toro.2ch.net/test/read.cgi/tech/1366526476/
呪いを調べるとか怖くて
kbhit()!!
コピペごめんね
0677デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN内容の種類を示す4byteと、内容を示す可変長byteをセットにしてやりとりする
例えばチャットの場合、先頭から
4byte・・・チャットであることを示す"10"
4byte・・・チャットの内容の文字数
文字数byte・・・チャットの内容
という形だ
攻撃(藏から鯖に送るデータ)なら、
4byte・・・攻撃であることを示す"450"
4byte・・・対象のID
4byte・・・攻撃の種類(必殺技の種類とか)
これはあくまで一例だから、バフはどうするのかとか
攻撃も対象ではなく場所に対して発動させる場合はどうするのかとか
その辺りはきちんと考えて決めていく必要がある
しかも汎用鯖だからな
0678デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANここはオレに聞けスレなので、鬱陶しいから出て行ってくんない?
0679デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANお前が消えれば済むさっさと出ていけゴミ。
0680デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANここでやると邪魔だから
ゲーム作るよ → 頓挫
が許される場所でやれ
GEP
http://ex14.vip2ch.com/news4gep/
板情報を追加すれば2ch専用ブラウザでも使える
0681デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANお前みたいに非生産的なカキコしかできないksよりマシw
0682デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN俺が>678の立場だったら吊るね
人として最低限のプライドがあるから
0683デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0684デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0685デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN「何がしたいのかを書いてくれないと、解決法の教えようがない。
本当にそんな処理が必要なの?」
とか言い出すんだよ。
自己顕示欲を満たしたいだけの典型的な池沼。
知能に問題があるって本当にハンディキャップだな。
0686デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN>鬱陶しい
個人的感想はブログに書いてろバーーーーーーカwwwwwwwwwwwwww
0687デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0688デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0689デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANゴミクズは建設的な書き込みなど出来ない。
0690デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANIDがでれば>>677のようなゴミクズも楽にスルー出来るんだがなあ。
0691デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN0692デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN救いようのないゴミクズ。
0693デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANお前誰にも必要とされてないんだからこのスレ見なくていいんだよ?
嫌なら見るなバカガキ。
0694デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANでなければ噛みつき方が不自然
0695デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.ANここはゴミ捨て場じゃねーぞ。ゴミクズはゴミ箱に捨てろ。
0696デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANIDが無くても手であぼーんしてますが何か?
お前内容を読まずにあぼーんするつもりか?
0697デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN頭が悪い事を完全に暴露されてついに病気が脳に来たか?
0698デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN0699デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN>>675 >>676
0700デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN当たり前だ。お前のようなゴミクズが捻り出すのはゴミクズレスだけ。
読まずにゴミ箱で問題ない
0701デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN0702デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN0703デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANfopenで開くファイル名を変数で指定しちゃったらいいよ。
その変数に入れるファイル名を実行時に指定。
0704デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANint bh[170][60][11200]=(int *)malloc(100);
のところで「無効な初期化子」とエラーが出ました。
これはどういうことなのでしょうか。
0705デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN0706704
2013/07/07(日) NY:AN:NY.ANmallocはポインタしか使えないのですね。
メモリ確保後、配列で扱おうと
int *bh;
bh=(int *)malloc(100);
int a=0,b=0,c=0;
bh[a][b][c]=0;
としたのですが、配列が定義されていないと出ました。
当然だろと思ったのですが、
以下のプログラムは動くので、よく分かりません。
教えていただけないでしょうか。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int *heap;
heap = (int *)malloc(sizeof(int) * 10);
if (heap == NULL) exit(0);
for (i = 0;i < 10;i++) {
heap[i] = i;
}
printf("%d\n",heap[5]);
free(heap);
return 0;
}
0707デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANとりあえず構造体にしておけば簡単
0708704
2013/07/07(日) NY:AN:NY.ANint ***bh;
bh=malloc(sizeof(int*)*3);
としたらコンパイルできました。
回答ありがとうございました。
0709デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN0710デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANint (*bh)[170][60][11200]=malloc(sizeof(*bh));
アクセスするときは(*bh)[0][0][0]
0711704
2013/07/07(日) NY:AN:NY.ANint ***bh,i,j,a;
bh=malloc(sizeof(int*)*30);
for(i=0 ; i<70; i++){
for(j=0 ; j<160 ; j++){
for(a=0;a<11200;a++){
printf("debug\n");
bh[j][i][a]=0;
printf("debug\n");
}
}
}
としたところ、
debug
Segmentation fault (コアダンプ)
となりました。
bh[0][0][0]=0;
だけでセグフォになったみたいですが、なぜなのでしょうか・・・。
0712704
2013/07/07(日) NY:AN:NY.AN710の通りにしたらできました。
ありがとうございました。
0713デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANそれより開発を続けていく
スレッドの作成は置いておいて、まずはキューの実装から行っていく
昨日書いた通りキューはいくつかあるが、まずはゲームスレッドと通信スレッドの間のキューを実装していこうと思う
キュー用のバッファはグローバルとして定義しておき、
ここに追加・取り出しをする
昨日の説明通り、4byteのヘッダに続いて様々なbyte数のデータが続くが、どのような実装がよいだろうか?
0714デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANゲームスレッド→通信スレッドの場合、
char queue[4*1024];
としてキュー用のバッファを確保しておくとする
ゲームスレッドは書き込み位置を記憶するためのポインタchar *w;をもっており、
通信スレッドは読み出しの位置を記憶するためのポインタchar *r;を持っている
そして書き込み/読み込みが終わったときに、次の書き込み/読み込み位置をw/rに保持する
当然起動した瞬間は、queue=w=rであり、キューに追加されてw>rとなった時点で読み出しが行われる
但し、このバッファは使い回すため、w<rとなる可能性もあり、読み出し条件はw!=rとしたほうがよいと思われる
また読み出しが追い付かない場合、キューに溜まっているデータが確保したバッファサイズを越えた瞬間重大なエラーを引き起こす
C言語でのキューの実装はこれでいい?
0715デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANゴミクズには無理。全然ダメ。
0716デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANアプリを作るための丸ごとの相談をしたいなら
専用スレ立ててそこでやってくれよ
0717デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.ANmain関数から sub関数に、配列array を引数で渡して、sub関数内で配列arrayの要素数を求める方法はありますか?
以下のコードでは、main関数内では要素数を求められますが、sub関数内では求めることができませんでした。
#include <stdio.h>
#define N(array) (sizeof(array)/sizeof(array[0]))
void sub(int *array) {
printf("%d\n", N(array));
}
int main(void) {
int array[10] = {0};
printf("%d\n", N(array));
sub(array);
return 0;
}
実行結果:
10
1
0718デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN無い
0719デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN方法1.
互換性は下がるが、配列の先頭アドレス付近にある、要素数データを使う。
方法2.
配列の最後に、門番データ(仕様上、有効データにはないもの)を置く。
例えば、正の整数だけという仕様なら、
int array[10];
array[9]=0;
>配列の先頭アドレス付近にある、要素数データ
配列にそんなものはないのでは? malloc() された領域の話、とかだったらわからないわけでもないのですけど
0722デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN0723717
2013/07/07(日) NY:AN:NY.ANAmazonのレビューを読むと、配列とポインタの違いについての細かい説明があるようですね。
この機会に勉強してみようと思います。ありがとうございました。
0724デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN門番(gate keeper)は使わない。
0725デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANアプリケーションでこんな事やったら大事故が起きたりするの?
どの本にもfree必要ねーしwwとか書いてるけど。
0726デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0727デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANメモリリークするでござるよ。コンピュータのメモリがなくなって
コンピュータの動作が鈍重になり、いずれは処理不可能な状態におちいる。
すぐ実行を終了するようなものだと問題になることはないけどね。
0728デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANmallocの専用スレはここでしょうwww
>>727
でもランタイムでfreeは必要ないよね?
return 0で強制的に開放されるんだし。
0729デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANずっと実行しっぱなしのものだったら解放していかんとやばいでしょ。
すぐに実行が終了するものだったら必要ない。
0730デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0731デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0732デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANckwてのがあるよ。
ckw-mod on GitHub by ckw-mod Project
http://ckw-mod.github.io/
0733デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANむしろ作れますか?
それも技術者が作ったんでしょう?
実行端末ってどうやって作るんでしょう。
0734デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0735デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANはぁ?
ゴミは黙ってろよ
メモリは確保したままになってるだけでそれだけ電気食うんだぞ
ただでさえ電気代が値上げだっつってんのに電気食うようなことを教えるな
電気食えばそれだけ発熱するから部屋も暑くなるし
お前電力会社の社員か何か
キモすぎ早く回線切れゴミ
0736デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANhttp://toro.2ch.net/test/read.cgi/tech/1359549517/l50
0737729
2013/07/08(月) NY:AN:NY.AN申し訳ありませんでした。わたしの軽率な発言は日本の電力消費を
上げ、みさなさまの会社の光熱費を上げ経営を圧迫し、連鎖的倒産に
導くばかりか、できるだけエアコンを使わず服装でカバーしようという
クールビズの活動のモチベーションまで下げかねないものであり、
地球温暖化という世界規模での異常事態を悪化させかねないものでした。
もしそうなれば南極の氷が融けて東京がビル50回の高さまで水没すると
聞いています。なんてことをしてしまったんだという思いでいっぱいです。
わたしは電力会社に勤めているわけではありませんが、電力の消費について
不適当な発言をしたことは間違いありません。
二度とこのようなことはいたしません。回線を切ってネットサーフィンの
時間をいままでの自分を省みる時間にあてたいと思います。本当に申し訳ありませんでした。
0738デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANそうすれば電気代も安くなってfree()も減らせる。
まさかfree不要論を唱えるプログラマーの中に反原発派なんかいないよな?
0739デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANなにか不具合起こっても勝手にexitするようなわけにいかないことが多いだろうし、
きっちり終了処理書く癖つけとくべきだと思うけど
0740729
2013/07/08(月) NY:AN:NY.ANfreeするのにCPUさんがガンガン電気使ったりして。
0741729
2013/07/08(月) NY:AN:NY.ANだね。それが現実的。
0742デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN高速なCが今時扱いされるのはなぜ?
0743デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0744729
2013/07/08(月) NY:AN:NY.ANPythonとかHaskellとかJavaとかC並みに高速で安全性の高い言語
がありコンピュータの処理速度も上がり、言語による実行速度の
違いをさほど意識する必要がなくなってきたいまどきということでござろうよ。
0745デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANベンチ結果も書かずに何言ってるの?
お前が勝手に意識しないだけだろ、キメェ
0746729
2013/07/08(月) NY:AN:NY.AN黙れ羊野郎、はい論破。
0747729
2013/07/08(月) NY:AN:NY.AN俺はそう理解したと述べてるだけだしー、ベンチ結果が知りたければ
自分で勝手にベンチすればいんじゃねつー感じだしー、
一生メーメーほざいてろよって感じ。
0748デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0749デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANメリットあるの?
0751デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANcygwin の bash もわりと
0753デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN羊の寄せ乳知らない童貞野郎は引っ込んで露
それがそうでもないんだ‥‥
うちの会社のとある24時間システム、java で組んであるけど、タスクマネージャをみるたびにページファイル使用量が増えていく‥‥
そして、ある日突然リブートするんだ‥‥
GC なんて信じらんない
http://toro.2ch.net/test/read.cgi/tech/1364009659/
http://toro.2ch.net/test/read.cgi/tech/1363171842/
ここらがくわしいよ
0756729
2013/07/08(月) NY:AN:NY.ANタスクマネージャを見なきゃいんじゃないでしょうかというバカなことをいうのは
やめておこうと思いますが、実装がまずいじゃないの?
0757デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN0758デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN>うちの会社のとある24時間システム
Qはロートルニートなんじゃね?
0759デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANただ使うだけで自分もろとも信用失墜する絶叫カーでしかないってことさ
0760デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.ANまあ、JAVA VM の実装がちゃんとしててメモリーリークがないとしても、そのシステムの実装がタコでメモリー確保しまくってたら、そりゃ落ちるわな。
0761デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN必要がないからといってそういうところ無頓着なマが書いてんだろうな。
0762デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANまずはその幻想をぶち壊す
0763デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANCは時代遅れ
0764デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN壊すじゃなくて殺すだねそれ
0765デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANというのは幻想を擬人化した表現であり
文学板ならまだしもム板ではただの基地害
0767デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANstrncat
↑
strnはstringだと思う
catって何からきてるんですか?
0768デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0769デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0770デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0771デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0772デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANわかります。
0774デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANint memcmp(const void *cs, const void *ct, size_t count)
{
const unsigned char *su1, *su2;
int res = 0;
for (su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--)
if ((res = *su1 - *su2) != 0)
break;
return res;
}
(res = *su1 - *su2) != 0
この部分は
*su1 != *su2
ではいけないんでしょうか?
0775デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANいいでしょ。これで。
for (...)
{
if (*su1 != *su2)
{
break;
}
}
return *su1 - *su2;
0776デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANmemcmp()のリターン値は、
cs > ct → 正
cs < ct → 負
cs = ct → 0
だから。
0777デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN(res = *su1 - *su2) != 0 だと算術演算をしてその結果のフラグレジスタをそのまま
参照できるから速くなるのかな?
>>775 だと引き算の結果を有効に活用しないで、別に比較命令を実行しなくてはいけない。
最適化がかかれば関係ないかもしれんけど。
0778デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0779デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANstrcatだと連結ソースの型が違うよーって怒られるデス!
0780デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANC言語でなくてもいいんだったらC++のstringで、a+bで連結できる。
0781デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANchar str[100] = "abc";
char ch = 'x';
len = strlen(str);
str[len] = ch;
str[len + 1] = 0;
0782デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANわからないと格好つけて言ったらそうなるのか。
0783デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0との比較なので
引き算 + 条件ジャンプ
比較演算 + 条件ジャンプ
CPUへの負荷は同じということなのですね
勉強になりました
0784デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANstrlcat(dst, sizeof(dst), &c, 1);
0785デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANありあと!
0786デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANそれcount==0のときaccess violation
0787デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANだから何だバーカ。
0788デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0789デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0790デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0791デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0792デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANよっぽど悔しかったか?
0793デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN*su1 != *su2
ではいけないのかって話ですが?
0794デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0795デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN>>775のコードに問題があるかどうかだが。
0796デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN疑問です。
0797デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN要素数に255個という制限があった。悲しかった。
0798デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANいやエッジケースくらい常に考えろよww
定数倍の速度より遥かに重要
0799デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANいやint x[N];
Nの最大値はどのくらいですか?
0800デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANでしょ。あんたが言ってるのはそれ、だから俺とあんたは違う話をしてるよね。
0801デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN揚げ足取りして何が楽しいのかね。
まともな教育受けてないんじゃないかね。
0802デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANstraycatsは迷い猫オーバーラン!を起こすけど、
それの対策用のstrayncats関数は無いからな。
0803デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANcount==0の話だが?
0804デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN>>776
0805デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANやおい
0806デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANある構造体Boxに中の変数Countがあるのですが、その値を見る関数GetCountを関数ポインタを使ってメンバ関数的に割り当てようとしています
//include省略
typedef struct Box{
int count;
int (*GetCount)(struct Box *);
} Box_t;
int Box_GetCount(Box_t* p_box){
return p_box->count;
}
Box_t* Box_New(int num){
Box_t* p_box = (Box_t *)malloc( sizeof(Box_t) );
p_box->count = num;
p_box->GetCount = &Box_GetCount;
return p_box;
}
int main()
{
Box_t* box1 = Box_New(5);
printf("%d", box1->GetCount(box1));
free(box1);
return 0;
}
このやり方ですと、構造体Boxのメンバ関数GetCount(外部関数Box_GetCountのポインタ)でメンバ変数countを読む時に
box1->GetCount(box1) と自身のポインタを渡すようになっているのですが、これをbox1->GetCount()のように引数なしでできるでしょうか?
構造体内の宣言を変えればいいのか、関数Box_Newの中身を変えればいいのか悩んでおります。ご教授頂けると幸いです
0807デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANムリ。
C++使ったほうがいい。
0808デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANできない
個人的にはbox1->GetCount(box1)にするくらいなら、Box_GetCount(box1)とかにすればと思う
0809デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANこれだと多態はできても、抽象型プログラミングみたいのができないからあんまりうれしくないね。
Cでやるなら >>808 みたいにしてカプセル化くらいでいいと思うわ。
0810デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANこのような引数を持つ関数を呼び出す時の作法がわかりません
以下の二つの方法は試しましたがどちらもNGでした
char ary[5][10] = {0};
// ここでary に入れる処理 (strcpy(ary[0], "abc");等)
func(ary); // 型エラー
char *ary[10] = {0};
// ここでary に入れる処理(strcpy(ary[0], "abc");等)
func(ary); // 通るけどaryの中身がおかしい
どなたかよろしくお願いします。
0811デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANc言語 関数 引数 配列 型 サイズ
で検索したらいいんでは。
0812810
2013/07/09(火) NY:AN:NY.ANどなたかよろしくお願いします
0813デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANこういうこと?
char array[10] = "abcde";
func(&array);
0814811
2013/07/09(火) NY:AN:NY.ANエラーになるんだろう。
0815810
2013/07/09(火) NY:AN:NY.ANいえ、これだと型が違うのでエラーになってしまいます
>>814
そうですね
なので char ary[5][10] = {0}; のように変数を用意してメモリ確保
その後にメモリへ目的の値ををコピー
そしてfunc読み出しとしたのですが型が違うと怒られてしまうのです
このようなケースでは具体的にどの様にすればいいのでしょうか?
0816811
2013/07/09(火) NY:AN:NY.ANこれではダメだろう。関数側で書き込む領域まで大きめにメモリ確保しないと。
自分もだが、こういう基礎レベルで迷う場合はC++を使った方がいい。
vector<string>型なら簡単。
0817デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANexeファイルだけで全てすませたいです。
0818810
2013/07/09(火) NY:AN:NY.AN申し訳ありませんが C でお願いします
そういえば getopt 等の関数がこのパターンに該当するのでGoogle等で検索してみた、、のですが
どれもmain関数からの呼び出しからのみで参考にならず…
0819811
2013/07/09(火) NY:AN:NY.ANコンパイラ側がchar[N]型みたいのを生成していて、ちょうどサイズを一致させないと受け付けなくなってる気がした。
0820810
2013/07/09(火) NY:AN:NY.ANmalloc等を使う上に環境依存だとは…
今の環境だと確実にメモリ断片化が起きるので動的にメモリ確保は使えない…
malloc が使えない環境だと getopt 等の関数は使えないのかなぁ
0822デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0823デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN組み込み?
ならその手の物は使えないよ
0825810
2013/07/09(火) NY:AN:NY.ANメモリにかなり制限がある環境でそれに近いと思います
>>824
なるほどー
staticで確保してそこを挿すようにすればよかったのですね
おかげさまで解決しました
ありがとう
0826811
2013/07/09(火) NY:AN:NY.ANそれは別にしてあれこれ動かしてみた結果、サイズを別に渡すのがうまくいくと思った。
#include <stdio.h>
void func(char *ary, int size) {
printf("%s\n", &ary[0]);
printf("%s\n", &ary[size]);
strcpy(&ary[size],"22222");
}
int main() {
char ary[2][10] = {"000000000","111111111"};
func(ary, sizeof(ary[0]));
printf("%s\n", ary[1]);
return 0;
}
0827デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0830811
2013/07/09(火) NY:AN:NY.ANポインタと配列でアクセス方法が変わってしまう事と、
ポインタの時、データが連続している保証がない事で困る。
ポインタと配列をどちらも入力できるようにするのは諦めるべきでは?
ポインタの時、配列のようにデータが繋がっているとしたら、これで共通のアクセス可能だが。
#include <stdio.h>
void func(char *ary) {
strcpy(&ary[0],"22222");
strcpy(&ary[10],"33333333");
}
int main() {
char ary[2][10] = {"000000000","111111111"};
char* bry[2] = {"000000000","111111111"};
//func(ary); func(bry);
func(&ary[0][0]); func(&bry[0][0]);
printf("%s %s\n", ary[0], bry[0]);
printf("%s %s\n", ary[1], bry[1]);
return 0; }
0831デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANメモリ制限がある環境でstaticはないだろと思ったけど、malloc/freeで断片化するような頻度での呼び出しでは有りか。
そもそも int a[][] と int *a[] とはまったく別物と決めてかかったほうがいい、それでみんな楽になる
0833デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANここはてめーの学習帳じゃねーんだよゴミ
ゴミってポインタ以前に本当に頭わりーな
0834デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN0835デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN今ならHeadFirstCで分かりやすく解説してあるから立ち読みしてくるといい
0836デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANhttp://anago.2ch.net/test/read.cgi/bizplus/1373207268/
0837片山博文MZパンク ◆0lBZNi.Q7evd
2013/07/09(火) NY:AN:NY.ANリソースファイル
0838デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANブログのアクセス数どのくらい?
何か面白いプログラム作ってよ
0839デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANありがとう。
visual studioでそのファイル見つけました。
便利ですね。
0840toya
2013/07/09(火) NY:AN:NY.AN加筆修正、標準ライブラリの執筆してくれる方求む。
http://ja.wikibooks.org/wiki/C%E8%A8%80%E8%AA%9E
0841デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.ANおつかれ。
0842デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN応用Cとかいう題名でCの応用的な事を系統立てて学びたいどんな
プログラムにすればいいだろうか?
1章
2章
0843デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANここは執筆活動報告スレではない
他人に迷惑をかけないよう直ちに回線を切れ
0844デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN意義がある活動されてますね。
こういうのがあるの、初めて知りました。
メモリ制限とは関係ないのでは?static な領域は計算可能だから必要な分だけ .data に確保されて問題ない。
static をつけずにスタックに配列(というおおげさなもの)を置くという方が、むしろ制限を意識する。
というか、配列を初期化するときには static をつけたくなるんだね、C89 が気になって、もうやめたいけどね。
0846デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANstatic はヒープじゃない、とは一言もいっていないが?
ただ、スタックはデフォルトのままでは「実行させるまで足りなくなることがわからない」けれども、static なら確保できなければコンパイルの時点ではねられるだろう?
配列をスタックに置くのはどーかと思うよ。
>>824
をみるかぎり static な領域のほうが制限がきつい、と思っているようだけれども、その判断は疑問だね。
>>831 は static な領域のほうが制限がきつい、と思っているようだけれども、その判断は疑問だね。
0849デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0850デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANつーかQは頭大丈夫か?
0851デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0852デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN↑ これ、間違っているか?
初期化しない分はたしかにそうだね
でも、初期化する分は、普通は、リンク前にすでに組み込まれているんじゃないの?
>>849
コード領域、スタック領域以外をヒープと呼ぶ人もいるようだ(昔なら DS セグメントレジスタでアクセスする分を全部ヒープといっていたようだね)。それに異論を唱えるつもりはない。
static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?malloc() 失敗時にちまちま書くのが面倒なときは、えいや、と static にするね、配列なんか特にね。
メモリ配置は環境によるね、その図の場合もあるし、ヒープとスタックが逆の場合もあるよ。静的領域(.data と .bss)は普通はコードの後ろに置くようだけれどもね。
0855デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN初期化する分もコード内に持っていて、プログラム起動時にヒープ領域にコピーされる
0856デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
それは違う。メモリを割り当てるのはあくまでプログラム実行時(ロード時)。
0857デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANふむ。.text, .rdata, .data 各セクションの実行時における配置にすきまがある環境もあるんだね、意識したことはないけど
でも「確保できないのならコンパイル&リンク時点ではねられる」という点はどうであれ同じだと思うだけれども?
コンパイルできたコードが実行時(プログラムロード時)にはねられることもあるの?
0859デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANクロス開発環境って知ってる?
0860デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN実行時のメモリ不足なんてコンパイル時に分かるわけないだろう
0861デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANアホはアホらしく大人しくしていればいいものを
0862デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0863デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANもしかして自分の馬鹿さ加減を人に指摘されて喜ぶ究極のマゾなんじゃねw
0864デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN巨大なstaticな領域を取ったときに、exeファイルとしてNGとか、elfファイルとしてNGとかの
実行ファイル形式にならない場合はコンパイル時にエラーになる。
でもそうならなかったら、実行時にエラーしないとは言えない。
なぜならメモリにロードするのはあくまで実行時だから、実行時に十分なリソースが
なければロードできない。
あとOSによっては仮想アドレス空間は確保しても物理的に確保しない場合もあるから
実行開始したあとにエラーが出る可能性もある。
厳密な意味ではやったことはない。同じアーキテクチャでコンパイルと実行を別の環境としたことはあるが
>>859 >>860
なんだかだんだん特殊な状況にはいってきたね、MS-DOS で FEP だのどーでもいい辞書だの TSR だのをバンバン載せた情況で MS-C がきどーしないとか‥‥‥
はじめの話はなんだったの?スタックに配列を載せるのと static に配列を載せるのとどっちが適切か、あるいは使い分けはどこにあるか?じゃなかったの?
>物理的に確保しない場合もあるから実行開始したあとにエラーが出る可能性もある。
malloc() で OK が出てもそれを信用してはいけない、という話はよく耳にするね、でも、それって static な領域にも当てはまるものなのか‥‥‥
巨大な配列は、static に置こうが stack に置こうがあんまりかわらない、というのもなんだかねえ‥‥
炎上学習法‥‥
0868デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANだよね〜
ROM で動作する環境もあるから、実行時でないと〜 とか言ってる奴はちょっと知識が足りない。
0869デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0870デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN巨大なauto変数が生成されるとサイズがあふれて実行時に止まることはあるだろ?
0871デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
自覚してないバカは始末が悪いな。
バカのくせに見栄だけは一人前で特殊な状況と言い逃れようとしてるのが笑える。
0872デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN置くことは普通しない。しかしサイズを気にするならば、
>>824
> static char a[N][10] = {{0}};
こんな間抜けな事もしない。 WWWW
不要になった後その領域を再利用できない、データ領域では足りない場合がある。
からだ。 WWWW
0873デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0874デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0875デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN一般にはそういうのは無視してリンクしてしまう
0876デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0877デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANどうしたらいいですか?お絵描きして遊んだ後に、Cやろうとしてファイル
探そうとしたらお絵描きフォルダがまず最初に開くので、Cのファイルまで
辿らないといけないので凄い面倒臭いです。
0878デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANよく開くフォルダはデスクトップにショートカットでも置いとけばいいじゃん。
0879デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANそんな事できるんですか...
初めて知りました。
後かなり困ってるんですがアプリケーションの関連付けを変えるにはどうしたらいいですか?
VC++ダウンロードしてからアイコンが全部VC++に変わりました。
メモ帳で開きたいのですが....
0880デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0881デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANwindows板いけ
おひさしぶり。
>>872, 874
配列の0初期化を明示したかったから static をつけただけです、もっとも static つければ 必然として 零初期化されるし、この場合は意味がないようですね
自動変数の配列でも初期化できるようになったのはいつからだったっけ
0883デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN>データ領域では足りない場合がある。
いまどきのフラットなメモリ空間ではそんなこともないだろうに?もしかして 64KB の壁のことをいってるの?
0884デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN直後にforで初期化してるのに 意味ねー WWWW
配列は初期化するというのならbが初期化されてねー 一貫性ねー WWWW
そして、アルツハイマーの兆候 WWWW
>> 845 static をつけずにスタックに配列(というおおげさなもの)を置くという方が、むしろ制限を意識する。
>> 847 配列をスタックに置くのはどーかと思うよ。
>>883
バカにはわからない。 WWWW
0885デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.ANあまりに巨大な領域に初期値も指定すれば
コンパイル&リンク時に死ぬ事もあるとは思う
が、基本は実行時だよな
0886デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN0887デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN'stdio.h': No such file or directory
というエラーがでます。部活の先輩にもらったサンプルプログラムなので構文エラーではないです。
このエラーはどういった方法で直すことができるでしょうか?
0888デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0889デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0890デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANそのはずなんですが何故かできないんですよね?
なにか初期設定のようなものが必要なんでしょうか?
0891デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANヴァカに構うな
お前だけならまだしも他も迷惑する
0892デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0893デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0894デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN関数のネストしだい?
0895デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN再帰使ってるとわからない。
再帰使ってないなら、最大値を計算することは可能で、そう言うツールもある。
あと .bss とか .data とかの大きさを指定できて、越えるとリンク時にエラーにするものは、組み込みだと珍しくない。
0896デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN深い再起で落ちるのはメモリ不足になるためだろ。
0897デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN最近の OS はスレッド当たり 2〜8MB のスタック領域を持っているため、よほどのことがない限りスタックが溢れてしまうことはない。
だが、再帰や alloca を積極的に使うようなプログラムではスタックオーバーフローを気にすべきだ。
http://www.nminoru.jp/~nminoru/programming/stackoverflow_handling.html
/F (スタック サイズの設定) (C++)
このオプションを指定しない場合、スタック サイズは既定で 1 MB に設定されます。
http://msdn.microsoft.com/ja-jp/library/tdkhxaks(v=vs.80).aspx
0898デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN反証 alloca
0899デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANalloca()使わなくても、再帰がある時点でコンパイル時には不明なんじゃないの?
0900デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0901デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0902デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN以下のような構造体型の配列をmemmove関数でコピーするとき、
コピーを始める位置の指定((name + 1)の部分)は、下のようにしても問題ないのでしょうか?
#include <stdio.h>
#include <string.h>
typedef struct {
char first[4], last[4];
} NAMESET;
int main(void) {
NAMESET name[4] = {{"aaa","bbb"},{"ccc","ddd"},{"eee","fff"},{"ggg","hhh"},};
NAMESET temp[4] = {};
memmove(temp, name + 1, sizeof(NAMESET) * 2);
printf("%s %s\n", temp[0].first, temp[0].last);
printf("%s %s", temp[1].first, temp[1].last);
return 0;
}
結果:
ccc ddd
eee fff
0903デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN問題ないよ。
0904902
2013/07/11(木) NY:AN:NY.ANこれと
memmove(temp, name + 1, sizeof(NAMESET) * 2);
これは
memmove(temp, &name[1], sizeof(NAMESET) * 2);
等価であると考えて大丈夫ですか?
後出しで申し訳ありません。
0905デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN同じ。
*(name + 1) と name[1] は同じ。
0906デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANすっきりしました。ありがとうございました。
0907デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANどうしたらいいでしょうか?
ポストイットに書いてディスプレイに貼るのはダサいので他の方法でお願いします
0908デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANスタック おおよそ後入れ先出しする器
スタックの実装段階でヒープを利用する ということも有り得る話
0909デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0910デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANそれともstrlen-1での作業?
これが未だに分らない。
ヒント:i8086 とかではスタックポインタ(のオフセット)を 0 で初期化するのが普通です
0912デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN伸びる方向が上方(順方向)でも下方(逆方向)でも好きな方で実装すればいい。
CPUスタックは下方伸長のものが多い。
0913デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0914デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN何故か全ての質点が互いに相互作用じゃなくて一個の質点とそれ以外の質点が相互作用するプログラムになっちゃった。
プログラムは全然分からんから教えて欲しいんだけどここで聞いていい?
0915デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANまずソースコードを貼れ、つ http://codepad.org/
ルンゲクッタは何次のを使ってる?
0916デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN>趣味でプログラミングを
>趣味でやり始めた
何でそんなに趣味であることをそんなに強調してんのコイツ
0917デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0918デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN//codepad.org/vawU35Ji
ルンゲクッタは4次です プログラミングについてはまったく無知なんでおかしいと思うけど。。
0919デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANミスった
>一個の質点とそれ以外の質点が相互作用するプログラムになっちゃった。
しか読んでない。
if (i==j)
Fx[i]+=0;
else
Fx[i]+=(a/dis[i][j])*res_x[i][j];
Fy も同じ処理で
こうするとどうなる?
0921デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANZEROから制作は馬鹿げてる。
0922デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANR言語 Octave Scilab Maxima Python(x,y)
0923デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANありがとう というか自分のアホさかげんに呆れている 当たり前の事に気付かなかった
>>921
粒子法を開発した先生の本でc使ってたから俺もやり始めたんだけど他にいい方法があるのか
0924デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0925デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANとりあえず容易に計算でき、結果が出せたらいいだろう。
0926デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN水星が木星の重力の影響を受けて楕円軌道が大きくなっていて、将来水星が太陽にぶつかって飲み込まれるかもしれないときいたので、
水星がなくなった場合の太陽系の他の惑星の軌道への影響を調べたり、
また水星以外にもそうした変化が起こっていないかなど調べたいのです
0927デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0928デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN古典物理学と言えばニュートンの運動方程式で、何かの軌道をプロットするのが定番です。
二個や三個であればPC上のRで計算できるので、試しにやってみましょう。
http://d.hatena.ne.jp/uncorrelated/20130618/1371565502
偏微分方程式の差分解法と Scilab を用いた数値計算
これは,2013年1月 (23,26,29,30,31日) に中央大学で行われた
集中講義・応用解析学 2(理工学部数学科),応用解析特別講義第二 (理工学研究科数学専攻) の講義テキストです.
http://www.infsup.jp/saito/modules/mydownloads/visit.php?cid=1&lid=18
微分方程式の数値計算: ポチの電子回路論
http://ee-by-pochi.sblo.jp/article/57772181.html
Sympy : Python での記号計算
http://www.ike-dyn.ritsumei.ac.jp/~uchida/scipy-lecture-notes/advanced/sympy.html
Pythonの数式処理ライブラリ SymPy で遊んでみる
http://note.chiebukuro.yahoo.co.jp/detail/n145429
Octaveで遊ぶ数値解析入門
http://members2.jcom.home.ne.jp/keiko0/octavenumerical.pdf
Scipyで常微分方程式を解く
http://oceansciencehack.blogspot.jp/2010_08_01_archive.html
Maxima 常微分方程式
http://phys.hirosaki-u.ac.jp/wiki.cgi/maxima?page=%CA%FD%C4%F8%BC%B0
Maxima で数学を 多機能ぶり
http://ayapin-film.sakura.ne.jp/LJ/Docs/34th.pdf
0929デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN論文にしろよ
0930デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN確保する容量のことなら Windows は CreateThread( ) でスレッド作成時に指定できる
使う量のことなら、alloca( ) とか再帰で確定しない
要するに、実行するまでわからん場合があるということだ
0931デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANN=3でも数値計算しか知られてなかったのが、最近、一般相対論でのN=3の一般解が解けたようだな。
一般相対論で4以上が不可能か証明されてるのか?
弘前大、一般相対論における三体問題の直線解の解析解を導出 2011年2月3日
弘前大学大学院理工学研究科の山田慧生氏と浅田秀樹准教授が、一般相対論における三体問題の直線解を導き、Physical Review 誌に掲載された。
多体問題においては、積分法による一般解の解析解は存在しないとアンリ・ポアンカレによって証明されており、問題解法には摂動や数値解析を用いた計算が従来行われていた。
2007 年に行われた研究会での浅田先生の発表資料 (PDF) によれば、日本天文学会では「三体問題にだけは手を出すな」「相対論にだけは手を出すな」という格言があるほどだったらしい。
http://www.excite.co.jp/News/it_g/20110203/Slashdot_11_02_03_044235.html
0932デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN0933デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANスタックを消費しすぎて、heap領域とかをぶっ壊すこともあるかな
heap領域を使いすぎて、スタック領域を使えない状態になることも
パソコンとかの富豪プログラム環境ではあんまり関係ないかも
0934デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANhttp://sci.tea-nifty.com/photos/uncategorized/2013/02/24/pythagoras.gif
http://sci.tea-nifty.com/photos/uncategorized/2013/02/24/pythagoras_2.jpg
http://sci.tea-nifty.com/blog/2013/03/geogebra42gif-2.html
こっちは一般相対論らしい。
http://sci.tea-nifty.com/photos/uncategorized/2013/03/16/new3body01.gif
http://sci.tea-nifty.com/photos/uncategorized/2013/03/16/new3bodyproblem_2.jpg
http://sci.tea-nifty.com/blog/2013/03/13gif-5c3e.html
ピタゴラス3体問題をルンゲクッタ法で解いて見た。
http://www.marble-cafe.com/planet/Pythagoras/Pythagoras.html
にJAVAのソースがあったので、R言語に焼きなおして解いて見た。
http://blogs.yahoo.co.jp/runomee/62375764.html
一般相対論の方程式で弘大が快挙
http://blogimg.goo.ne.jp/user_image/0b/d2/a2f0ed85a1a2180e403f78a2405d99c4.jpg
http://blog.goo.ne.jp/ktonegaw/e/89d89ebc0097bb78a3af6d4e93a35c7a
0935914
2013/07/11(木) NY:AN:NY.AN一般解は存在しないけど特殊解は存在していてニュートン方程式では知られていたけど
一般相対論では初めて見つかったって事だと思うよ
学部生で一般の解析解見つけるなんてすごいなぁ
0937デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.AN多体問題 - Wikipedia
多体問題は、互いに相互作用する3体以上からなる系を扱う問題である。
太陽と地球のような二体問題は厳密に解けるが、例えば月の運動も考える一般の三体問題以上になると解析的に解くことはできないとされる。
18世紀にはジョゼフ=ルイ・ラグランジュが研究を深め、19世紀末にアンリ・ポアンカレによって証明された。
ただしポアンカレの証明は積分法の範囲であり、この範囲以外の解法の存在については現在も不明である。
当たり前ですが,三体問題の一般解,と言うわけではなく,一般相対論の範囲で三体問題の直線解(三つの物体が一直線上に乗っている場合限定の解)を解いた,という物です.
http://slashdot.jp/comments.pl?sid=521452&cid=1897426
0938デフォルトの名無しさん
2013/07/11(木) NY:AN:NY.ANよく解けたとしか
0939デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN続けるならスレを立ててそちらで継続されたらいかがでしょうか?
0940デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN最終的にCに関わってくるから却下
0941デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0942デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN第6回(平成21年度)日本学術振興会賞受賞者
「数値的一般相対論の開拓およびその応用」
中性子星やブラックホール形成は、一般相対論的効果が顕著に現れる現象であるが、これらの問題を解くための方程式は大変複雑になる。
柴田大氏は、一般相対論の基礎方程式であるアインシュタイン方程式を数値的に解き、
ブラックホールの形成や重力波放出を伴うような一般相対論的天体現象の理論的解明に多大な貢献をした。
特に、同氏は長時間安定に一般相対論の数値シミュレーションが行える新しい定式化を提案し、実際にその有効性を実証した。
これらは、「数値的一般相対論」と呼ばれる分野の本格的到来を導く記念碑的業績として世界的に高く評価されている。
同氏は、的確な問題設定と独創的な計算手法を駆使して、一般相対論・相対論的宇宙物理の分野において今後も世界をリードしていくことが期待される。
http://www.jsps.go.jp/jsps-prize/ichiran_6th/09_shibata.html
0943デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0944デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANいや、そうじゃなく、このスレに埋もれてしまうより
単独で立てた方が良くないかと
0945デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANあと叩き台のコードもアップで。
0946デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANほんの少しのズレでも、軌道が変わってしまうだろ。
たとえば球形の鉄玉を転がしたとき、磁石に衝突するかしないかは、少しの方向や速度や磁力の違いで変わる。
0947デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0948デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0949デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0950デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN荒唐無稽な話のようですが、ロシュの限界などの物理的な考察をした上でのシュミレーション・アニメです。
http://www.youtube.com/watch?v=NqQbxV1d9v0
https://ja-jp.facebook.com/Dr.kanjukuamagi/posts/459544510793405
国立天文台、約502TFLOPSのCray製Xeonスパコンを運用開始
〜計算天文学向けに開放、2014年度には1PFLOPSへアップグレード 2013/5/29
性能を高めた新スパコンの導入により、これまで計算できなかったような大質量の形成や、
土星の輪全体の構造などの計算、時間軸/空間軸の解像度を高めた解析などの実現に期待を寄せている。
http://pc.watch.impress.co.jp/docs/news/20130529_601423.html
高度なN体シミュレーション法 押野翔一 2013/1/23
土星環シミュレーション手法 : local shearing box + リープフロッグ法 + GRAPE-7
http://www.cfca.nao.ac.jp/files/oshino_13_4_0.pdf
土星の環は安定?
http://www.geocities.jp/planetnekonta2/hanasi/ring/ring.html
国立天文台 理論研究部 + 天文シミュレーションプロジェクト (CfCA) 研究成果 2012年度
土星の環におけるプロペラ構造の形成
土星の環でプロペラ状の構造の発見(Tiscareno et al. 2006)
環に埋もれた小衛星が原因
プロペラの形成条件をN体シミュレーションで調べた
プロペラの観測例 Michikoshi and Kokubo, 2011, ApJ, 732L, 23
プロペラ状の部分空隙が形成されることを確かめた
衛星の大きさと周囲の密度で 形成条件が決まっている
http://th.nao.ac.jp/research/2012/research_2012.pdf
0951デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANmrω^2だっけ?
だけで何とかならんの?
つーか久しぶりすぎてこの公式が怪しいw
0952デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN純粋に今現在判明してる太陽系の惑星だけで。
0953デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANダイレクトXとか使って惑星がぐるぐる回ってるのを見られる感じ?
それを好きな角度や距離から見られる感じ?
NHKとかで出てくるCGみたいな感じ?
時間の進む速さを1000倍とか任意に指定できる感じ?
それで見たい年代を西暦で指定したりできる感じ?
0954デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN画像、動画出力はいまは本質的でないこと。
0955片山博文MZパンク ◆0lBZNi.Q7evd
2013/07/12(金) NY:AN:NY.ANF=maとF=GMm/r^2から加速度がわかる。加速度の積分から速度がわかる。
速度の積分から位置座標がわかる。
表示する惑星は、大きさをデフォルメしないとほとんど見えない。
0956デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN「わたしは発音が如何とかそれ以前のおバカです」 これコピペして
ctrl押しながらF7
「しゅみれーしょん」 と入力後 Enter
まずここから始める
0957デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANシミュレーションライブラリから計算結果を本体に送って、本体はただ描画するのみ。
データはテキスト形式、その他はライブラリ製作者の自由、自由にしといたほうが後で彗星やらブラックホールやら拡張できるからいいだろ。
こういう仕様ならば致命的に頭のおかしいLinuxヲタでも描画する本体さえ作れば比較的簡単に使える。
そしてスパコンを使わずに計算するためどうすれば効率よく計算できるかということかCベースで語られて盛り上がる。
0958デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN50億年以内にこの星は確実に消えるから
50億年まで計算できれば十分w
0959デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN実際ないんだから。
俺たちが知りたいのは地球が消えるその日のことなんだ。
0960片山博文MZパンク ◆0lBZNi.Q7evd
2013/07/12(金) NY:AN:NY.AN0961デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN1つめは「測地線の方程式」と呼ばれている式で、物体の質量による重力によって曲げられた4次元の時空を進む光の軌跡をあらわしている。
2つめは「重力場の方程式」とか「アインシュタイン方程式」と呼ばれている式で、右辺の T であらわされる物質の質量(=エネルギー)や運動量によって
左辺の G という「曲率」でその場所の時空がどのように曲げられるかを示している。
一般相対性理論に挑戦しよう!
http://blog.goo.ne.jp/ktonegaw/e/ea7ad9292ce01ad4abbbc8c98f3303d0
0962デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0963デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0965デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN本研究のシミュレータの初期条件は,以下の定数を元に計算し,比にした値を用いている.
http://www.is.oit.ac.jp/~shinkai/seminar/thesis/2009morimoto/2009_Bthesis_morimoto.pdf
「太陽系惑星の公転軌道を正確に表したGIF画像が海外で話題に」
http://i.minus.com/iAtC2afkODS6U.gif
http://www.youtube.com/watch?v=0jHsq36_NTU
http://www.youtube.com/watch?v=C4V-ooITrws
http://blog.livedoor.jp/drazuli/archives/6335298.html
惑星と小天体の軌道要素は以下のサイトで入手しました。
Keplerian Elements for Approximate Positions of the Major Planets(NASA JPL SSD)
http://ssd.jpl.nasa.gov/?planet_pos
JPL Small-Body Database Browser(NASA JPL SSD)
http://ssd.jpl.nasa.gov/sbdb.cgi
http://homepage2.nifty.com/m_kamada/javascript/solarsystem/
0966デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANそいつは荒らしだから相手にするな
そのコテにいろんなスレが潰されてる
NG必須
0967デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0968デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0969片山博文MZパンク ◆0lBZNi.Q7evd
2013/07/12(金) NY:AN:NY.AN0970デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0971デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN0972デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN銀河の中心のブラックホールの回りを公転してるってことか?
http://www.youtube.com/watch?v=0jHsq36_NTU
http://www.youtube.com/watch?v=C4V-ooITrws
0973デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANカッシーニ間隙とかの話?
0974デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANりょ
0975デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANつーか冥王星って、
冥王星クラスの星がその先にいっぱいあるから
いちいちカウントするのやめようぜ!
ってことになったんだっけ?
それらの星は海王星とかにどの程度影響を与えてるんだろう。
0976デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.AN今のところ一応それが定説
0977デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANニュース - 科学&宇宙 - 太陽の移動速度、想定より遅かった - ナショナルジオグラフィック 公式日本語サイト(ナショジオ)
http://www.nationalgeographic.co.jp/news/news_article.php?file_id=20120511003
天の川銀河ー太陽系は悠々自適に航海中
http://www.symphonic-net.com/imacocospace/sun/sumisumi/2013/07/amanoginga.html
太陽系、驚きの映像! 2013.04.29
すごいぞ!これは!!本当に驚いた。つくってくれた人、あんたは偉いぞ!
太陽系(Solar system )は宇宙を高速で移動していて、その惑星も公転軌道を守りながら移動している。
去年発表した国立天文台のデータによると銀河中心からの太陽系までの距離は2万8000光年前後、
銀河系内を周回する太陽系の回転速度は秒速220km/s前後、1周には約2億2500万〜2億5000万年かかると算出。
同じく去年NASAは、太陽は時速約8万3700キロで動いてると計測しました。
http://yacco369.blog.fc2.com/blog-entry-219.html
0978デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANどうしてもその精度が必要な場合じゃなきゃdoubleなんて使わん。
0979デフォルトの名無しさん
2013/07/12(金) NY:AN:NY.ANhttp://toro.2ch.net/test/read.cgi/tech/1222048909/
0980デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANややこしくなるからそれ後回しにしようぜw
0981デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANってことは、精度はfloatで、単位はAUでやればいいのかね。
0982デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0983デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0984デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0985デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN普通はdoubleで計算するな。floatが必要なら最後に
キャストすればいいし。
0986デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANdouble でも精度が全然足りない
float で計算するとしたらゲームでそれっぽく見せる用
0987デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0988デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN無い物は無いで自作しするのが健全なC使いの精神だろ
0989デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0990デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANこういうのを通るようにできるコンパイルオプション有りませんか?
0991デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANド素人はクソして寝ろ
0992デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN0993デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANビジュアル面はゲームみたいなもんだから
floatで描画に受け渡すAPI実装するよ
0994デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANC++ でコンパイルする。
お使いのコンパイラはなんですか?
0996デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANgcc使ってます。
g++に変えればC++コンパイル出来るらしいからやってみたけど
よくわからないエラーが増えたので
C言語らしくfor文の前に宣言するしかなさそうですね
0997デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN-std=c90 ISO 1990 C 標準に準拠させる
-std=c99 ISO 1999 C 標準に準拠させる
0998デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN1000デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANhttp://toro.2ch.net/test/read.cgi/tech/1373675124/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。