約 5,602,952 件
https://w.atwiki.jp/projecthikky/pages/42.html
記憶クラス指定子 記憶クラス指定子 auto 記憶クラス指定子 register 記憶クラス指定子 extern 記憶クラス指定子 static 記憶クラス指定子 typedef 記憶クラス指定子 auto B言語時代のなごり 関数内でしか使わない変数宣言につかう 関数の呼び出しとともにメモリが確保され関数を抜けるときに自動的に解放される 普通はautoをわざわざ書かない int main(void) { auto int a; /* int a; と同じ */ auto char c = A ; /* char c = A ; と同じ */ int b; /* auto int b; と同じ */ long d; /* auto long d; と同じ */ return 0;} 記憶クラス指定子 register 宣言した変数をレジスタと呼ばれる高速演算が可能な機能で優先的に使われる (ただし実際にレジスタを使ってくれるかはコンパイラの気分次第) 仮引数の定義にも使える #include stdio.h int main(void) { register int i; register int sum = 0; for (i = 0; i 1000; ++i) { sum += i; } printf("%d\n", sum); return 0;} 記憶クラス指定子 extern 他のソースファイルやライブラリで定義されている 関数や変数を使うときにその関数や変数の宣言につける (外部ファイルに定義があるというキーワードである) (最近のコンパイラは賢いのでexternを付けなくても自動判断してくれる) foo.h extern int value;extern int hoge(int n); foo.c #include "foo.h"extern int value = 100;extern int hoge(int n) { return n * n;} bar.c #include stdio.h #include "foo.h"int main(void) { printf("%d\n", value); /* foo.c で定義した 100 が出力される */ printf("%d\n", hoge(12)); /* foo.c で定義した hoge() が呼ばれる */ return 0;} 記憶クラス指定子 static 使い方が2種類ある ケース1 autoの逆で関数を抜けてもメモリが保持されて関数の呼び出しのたびに値を再利用できる #include stdio.h int counter(void) { static int count = 0; /* 変数の初期化は1番最初に呼び出された時だけ、それ以降はされない */ return ++count;} int notcounter(void) { int count = 0; /* 関数が呼び出されるたびに初期化される */ return ++count;} int main(void) { /* staticの宣言のあるcounter() */ printf("%d\n", counter()); /* 1 が返る */ printf("%d\n", counter()); /* 2 が返る */ printf("%d\n", counter()); /* 3 が返る (呼び出すたびに値が更新) */ /* staticの宣言のないnotcounter() */ printf("%d\n", notcounter()); /* 1 が返る */ printf("%d\n", notcounter()); /* 1 が返る */ printf("%d\n", notcounter()); /* 1 が返る (何度呼び出しても同じ値) */ return 0;} ケース2 externのグローバル変数の逆で外部ソースファイルでは参照できない、そのソースファイル内でしか使うことが許されない変数にできる #include stdio.h static int value = 100; /* このファイルからしか参照できない変数 */ int main(void) { printf("%d\n", value); return 0;} 記憶クラス指定子 typedef そのスコープ内で有効な新しい型名を定義するらしい struct pointxy { int x; int y;};typedef struct pointxy POINT;typedef int * intP; intP a, b, c; /* a,b,cは全部 int* 型で宣言される */ POINT f, g, h; /* f,g,hは全部 struct pointxy 型で宣言される */
https://w.atwiki.jp/neetsdkasu/pages/41.html
記憶クラス指定子に関するメモ 記憶クラス指定子には extern、static、auto、typedef、register の5種類ある extern 関数やグローバル変数の外部利用宣言定義 static 関数内で使うと変数の再利用宣言、グローバル変数定義で使うと変数のスコープをソースファイル内に限定する auto 関数内の一時変数を定義する際に使うが、省略可能で普通は省略して使う(通常の変数定義である) typedef 新しい型名を定義する、スコープ内で有効 register 定義した変数を特定のレジスタに専用として割り当てて処理を高速化する(実際に割り当てるかはコンパイラが判断する) #include stdio.h static int value1; /* このソースファイル内でのみ使える大局変数の宣言 */extern int value2; /* このソースファイル以外でも共通で使えるグローバル変数の宣言 */ extern int value2 = 100; /* グローバル変数の定義は変数を使うどれかのファイルの1か所だけで行う */ typedef int * intP; /* このソースファイル内では intP型という型が使える(実体は int* 型) */ int counter(void) { static int count = 0; /* 初期化は呼び出された最初に行われるがそれ以降は最後の値を保持する */ return ++count;} int hoge(register int n) { /* 仮引数の定義にもregister は使える */ register int sum = 0; for ( ; n 0; --n) { sum += n; } return sum;} int main(void) { auto int a = 0; /* int a = 0; と同じ */ int b = 0; /* auto int b = 0; と同じ、通常はこのようにautoを省略して使う */ register int i; /* i をレジスタで使うよう定義 */ typedef long * longP; /* main関数内で有効な型名になる */ intP x, y; /* x,yともにintP型(int*型)として宣言される */ int * w, z; /* この宣言だと wだけint*型になり、zはint型になる */ printf("%d\n", counter()); /* 1 が表示される */ printf("%d\n", counter()); /* 2 が表示される */ printf("%d\n", counter()); /* 3 が表示される、このように最後の値が保持される */ return 0;} .
https://w.atwiki.jp/kojiro/pages/69.html
VOLATILE
https://w.atwiki.jp/sevenlives/pages/1549.html
記憶クラス指定子? auto static? register? extern? typedef? 変数ローカル変数? グローバル変数 静的変数? 動的変数? スコープ 結合度?内部結合(C) 外部結合(C) 無結合(C)? C
https://w.atwiki.jp/pathofexile12/pages/1134.html
Volatile PowerはDivination Cardの一種 交換可能アイテム 入手方法 関連リンク Volatile Power 必要枚数 9枚 Superior Vaal GemQuality +20%Corrupted Unlimited power is apt to corrupt the minds of those who possess it. 交換可能アイテム クオリティ20%のVaalスキルジェム 入手方法 このカードがドロップするエリア The Mines Level 1 • The Mines Level 2 • The Crystal Veins • The Tunnel • The Quarry • Crystal Ore Map • Dig Map • Excavation Map • Flooded Mine Map • Geode Map カード等のドロップ以外の入手方法 アイテム 必要数 備考 The Gambler 5 Stacked Deck 1 関連リンク 英wiki https //pathofexile.gamepedia.com/Volatile_Power Divination Card
https://w.atwiki.jp/hmiku/pages/8236.html
【登録タグ CD CDV バルPCD 全国配信 束子PCD】 前作 本作 次作 カプセル Volatile 非対称ARTsヘクトパステル(束子P)Sailing to Hope(バルP) 束子P バルP 即売 同人 配信 発売 2009年9月6日 2009年9月 2009年11月11日 価格 ¥1,000(税込) ¥1,260(税込) ¥1,200/ 1曲¥150 サークル AVALON レーベル - KarenT 作詞・作曲:バルP、束子P イラスト:久楽 とらのあなで購入する iTunes Storeで購入する CD紹介 束子PとバルPが前作に続き製作したコンピレーションCD。 ボーマス9で頒布、現在は「とらのあな」で委託販売。 KarenTよりダウンロード販売も行われている。 曲目 Another Tune / 束子P グレア / バルP 未来空想 / バルP NEW! Vertical / 束子P NEW! 逆さまのパズル / バルP NEW! 神々の島 / バルP NEW! わすれもの / 束子P Another Tune (Instrumental) グレア (Instrumental) 未来空想 (Instrumental) Vertical (Instrumental) 逆さまのパズル (Instrumental) 神々の島 (Instrumental) わすれもの (Instrumental) リンク (亀の子)束子とバル(サン)のCD情報 KarenT KarenT「バルP 束子P」 コメント たわしP大好き!愛してる! -- 名無しさん (2010-03-06 13 50 46) 名前 コメント
https://w.atwiki.jp/bokuyo/pages/63.html
volatile修飾子 constやmutableと同じ型修飾子。 マルチスレッドプログラミングをするなら知っといた方がいいかも。 CやJavaでも同様のものがあるらしいけど、ここではC++について。 プログラムの最適化 コンパイラはコンパイルの過程でプログラムの最適化を行うの。 最適化では、「これ意味ないでしょ…」って言うような文を削除しちゃったり…。 「この程度の変数ならメモリじゃなくて、高速にアクセスできるレジスタに変数おいちゃえ」だとか。 コンパイラによってどこまで最適化するのかはさまざまだけどたとえばコレ。 int main(){ while(0){//←ここ偽だから std cout "EUREKA" std endl;// ループ内に }// 入らないよね return 0; } コンパイラたんはそういう無意味なソースを省いてくれるの。 int main(){ return 0; } だから実際はこんな感じになる。あくまでイメージだけど。これが最適化なの。 volatileって? volatile修飾子をつけた変数がコンパイラによって最適化されないよう防ぎます。 …えっ?どういうこと? int main(){ volatile int eureka = 0; while(eureka){ std cout "EUREKA" std endl; } std cout "unko" std endl; return 0; } こうすると、eurekaにたいしてコンパイラたんは最適化をしません。 なので、たとえ無意味なwhile文が削除されずにコンパイルされます。 それって意味あるの? ⇒マルチスレッドプログラミングでは意味あるよ。あとは組み込みとか??。 どういうときに使うの? 使わないのでわかりません。 参考リンク MSDN - setjmp/longjump http //okuyama.mt.tama.hosei.ac.jp/unix/C/slide88.html http //www.kumikomi.net/archives/2003/05/10kumi.php?page=13 http //www.cycleof5th.com/tips/index.php?date=2007-05-24 http //proger.blog10.fc2.com/blog-entry-20.html
https://w.atwiki.jp/pathofexile12/pages/627.html
詳説・特徴 ジェムレベルによる変化 入手方法 エンチャント 関連リンク Volatile Dead Spell,AoE,Fireマナコスト 9-26詠唱時間 0.8秒追加ダメージ倍率 120% 標的の場所の近くの死体が爆発し、小さな範囲にダメージを与え、近くの敵に向かって移動する火の玉を生成する。 死体の爆発は、スペルダメージの修正の影響を受けず、反射しない。 クオリティ1%あたり0.5% increased Area of Effect日本語訳求む Deals (20-507) to (30-760) Fire Damage(20-507)~(30-760)のFireダメージを与える Consumes up to 3 corpses日本語訳求む Explosion deals base Fire Damage equal to 3% of the corpse s Maximum Life日本語訳求む 詳説・特徴 ジェムレベルによる変化 +... レベル マナコスト spell_maximum_base_fire_damage 1 12 21 14 9 20-30 2 15 25 17 10 25-38 3 19 30 21 12 34-50 4 23 35 24 13 44-65 5 27 41 28 14 56-84 6 31 46 32 15 71-106 7 35 51 36 16 89-133 8 38 55 38 17 105-157 9 41 59 41 18 123-184 10 44 63 44 19 144-216 11 47 67 47 20 168-252 12 50 71 49 20 195-293 13 53 75 52 21 227-340 14 56 79 55 22 262-393 15 59 83 58 23 303-454 16 62 87 60 24 349-524 17 64 90 62 25 384-576 18 66 92 64 25 421-632 19 68 95 66 26 462-693 20 70 98 68 26 507-760 21 72 100 70 27 555-832 22 74 100 70 27 608-911 23 76 100 70 28 665-997 24 78 100 70 29 727-1091 25 80 100 70 29 795-1192 26 82 100 70 30 868-1303 27 84 100 70 30 948-1423 28 86 100 70 31 1035-1553 29 88 100 70 32 1129-1694 30 90 100 70 32 1232-1848 31 91 100 70 32 1286-1929 32 92 100 70 33 1343-2014 33 93 100 70 33 1402-2103 34 94 100 70 33 1463-2195 35 95 100 70 34 1527-2291 36 96 100 70 34 1594-2391 37 97 100 70 34 1664-2495 38 98 100 70 34 1736-2604 39 99 100 70 35 1811-2717 40 100 100 70 35 1890-2834
https://w.atwiki.jp/titanquest/pages/689.html
Volatile Shield 日本語訳:ヴォラタイル シールド 性能 23% Chance to block 218 damage 99 Damage +28% Lightning Resistance +24% エレメンタルダメージ(AE) +19% Elemental Damage 25.0% 次の中のどれかの(AE) 15.0% Chance for one of the following 23 ~ 34 Elemental Retaliation 41 Reduced Defence Retaliation for 3.0 Seconds 1.0 ~ 3.0 Stun Retaliation 25.0% Chance of 35 Percent Life Retaliation +36 Defensive Ability +39 Offensive Ability Required Player Level 31 Required Strength 303 解説
https://w.atwiki.jp/kumikomi-yitjc/pages/10.html
■最適化とは コンパイラがソースプログラムから実行形式を作成するときにおこなう作業の一つで、一般には以下の様なものがある。 実行形式を可能な限り小さくする。(プログラムサイズの最適化) 実行形式のプログラムが、可能な限り高速に動作するようにする。(実行速度の最適化) コンパイラは最適化を行わない場合、通常はソースプログラムで記述された内容をそのまま実行形式に変換する。最適化オプションを有効にすると、プログラマが意図していない(ソースプログラムの記述とは異なる)実行形式が作成される事がある。 たとえば、こんなプログラムがあったとする。 #include machine.h #include monitor.h int main() { int i; i = 1; printf( test\n ); return 0; } まったく意味の無いプログラムではある。(特に変数iって必要? ....と人が思うということは、コンパイラも同じように考えるということ) 結果として、コンパイラは上のプログラムを最適化して、以下のように解釈して実行形式を作成する。 #include machine.h #include monitor.h int main() { printf( test\n ); return 0; } 普通はこれでも問題無いのであるが、ハードウエアに設定を行うような操作では問題が生じる。たとえば、以下のプログラムでは、 #include machine.h #include monitor.h #define PB_DDR (*(unsigned char *)0xFFFD4) // アドレス0xFFFD4へのポインタを定義 int main() { PB_DDR = 0xFF; // ① 最適化によってこの行が消去される。 printf( test\n ); return 0; } 最適化の結果、①の行が削除されてしまう。このような事態を避けたい場合に型宣言の前にvolatileを付加することで最適化を回避する。 【最適化の実例】 以下のプログラムで、最適化がどのように動作するか、機械語命令で比較してみると、 #include monitor.h int main() { volatile int c = 0; // 最適化を抑止 while (1) { c++; } return 0; } (1) volatileあり (変数cの最適化を抑止)(2) votatileなし (変数cの最適化を実行) (1)と(2)を比較すれば分かるように、最適化を行うことで変数cに関連した処理が消滅している。通常、このような動作は有り難い事が多いのだが、ハードウエア制御では「余計なお世話」になることも多いので、十分注意する事。