teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

8

ビルド設定の追記

2017/07/07 09:43

投稿

Angkorwat
Angkorwat

スコア31

title CHANGED
File without changes
body CHANGED
@@ -5,8 +5,14 @@
5
5
 
6
6
  開発環境はvisual studio 2005、MFCのダイアログベースのアプリケーションです。_T("****")の内容は少ない時で半角20文字程度、多い時で半角100文字以内になります。
7
7
 
8
- 補足…テストとして、CStringをchar [256]にすると、5秒でビルドは完了しました(ほぼ普通のビルドです)。CStringが以上に初期化を行っているからかもしれませんが、デバッグとビルドでこんなに時間の差がつくのが理解できません。
8
+ 補足1:CStringをchar [256]にすると、5秒でビルドは完了しました(ほぼ普通のビルドです)。CStringが以上に初期化を行っているからかもしれませんが、デバッグとビルドでこんなに時間の差がつくのが理解できません。
9
9
 
10
+ 補足2:CStringとしたまま、リリースの構成プロパティ>C/C++>最適化の欄で、デバッグと同じく最適化、プログラム全体の最適化ともに無効にすると、数秒でビルドは完了するのですが、下記のエラーを吐き出しました。
11
+
12
+ > LINK : /LTCG が指定されましたが、コードの生成は必要ありません。リンク コマンド ラインから /LTCG を削除し、リンカの性能を改善してください。
13
+
14
+ また、最適化のみ無効にすると、エラーはないですが10秒はかかります(約20秒短縮)、プログラム全体の最適化のみ無効(いいえ)にすると、変化はありませんでした。
15
+
10
16
  ```ここに言語を入力
11
17
  static TEST_BUFFER TESTNAME [] = {
12
18
  { _T("****"), _T("****"), _T("****"), _T("****") },

7

補足

2017/07/07 09:43

投稿

Angkorwat
Angkorwat

スコア31

title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,8 @@
5
5
 
6
6
  開発環境はvisual studio 2005、MFCのダイアログベースのアプリケーションです。_T("****")の内容は少ない時で半角20文字程度、多い時で半角100文字以内になります。
7
7
 
8
+ 補足…テストとして、CStringをchar [256]にすると、5秒でビルドは完了しました(ほぼ普通のビルドです)。CStringが以上に初期化を行っているからかもしれませんが、デバッグとビルドでこんなに時間の差がつくのが理解できません。
9
+
8
10
  ```ここに言語を入力
9
11
  static TEST_BUFFER TESTNAME [] = {
10
12
  { _T("****"), _T("****"), _T("****"), _T("****") },

6

追記

2017/07/07 09:20

投稿

Angkorwat
Angkorwat

スコア31

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  膨大なデータを持つプログラムの書き方としては適さないのでしょうが、構造体の初期化の記述をなるべく崩さず、代替となる方法などがあればご教授いただきたいです。
4
4
  宜しくお願いします。
5
5
 
6
- 開発環境はvisual studio 2005です。_T("****")の内容は少ない時で半角20文字程度、多い時で半角100文字以内になります。
6
+ 開発環境はvisual studio 2005、MFCのダイアログベースのアプリケーションです。_T("****")の内容は少ない時で半角20文字程度、多い時で半角100文字以内になります。
7
7
 
8
8
  ```ここに言語を入力
9
9
  static TEST_BUFFER TESTNAME [] = {

5

追記

2017/07/07 09:06

投稿

Angkorwat
Angkorwat

スコア31

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  膨大なデータを持つプログラムの書き方としては適さないのでしょうが、構造体の初期化の記述をなるべく崩さず、代替となる方法などがあればご教授いただきたいです。
4
4
  宜しくお願いします。
5
5
 
6
- 開発環境はvisual studio 2005です。
6
+ 開発環境はvisual studio 2005です。_T("****")の内容は少ない時で半角20文字程度、多い時で半角100文字以内になります。
7
7
 
8
8
  ```ここに言語を入力
9
9
  static TEST_BUFFER TESTNAME [] = {

4

その他追記

2017/07/07 08:58

投稿

Angkorwat
Angkorwat

スコア31

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 下記の数千行にもわたる構造体の初期化ですが、リリースバージョンのビルドにおいて、「コード生成しています。」という出力メッセージから30秒くらいかかり、プログラムが作成されるのに時間がかかってしまいます。
1
+ 下記の数千行にもわたる構造体の初期化ですが、リリースバージョンのビルドにおいて、「コード生成しています。」という出力メッセージから30秒くらいかかり、プログラムが作成されるのに時間がかかってしまいます。(デバッグ時は数秒もかからないですが、リリース時に時間がかかります)
2
2
 
3
3
  膨大なデータを持つプログラムの書き方としては適さないのでしょうが、構造体の初期化の記述をなるべく崩さず、代替となる方法などがあればご教授いただきたいです。
4
4
  宜しくお願いします。

3

修正依頼内容の追記

2017/07/07 08:45

投稿

Angkorwat
Angkorwat

スコア31

title CHANGED
File without changes
body CHANGED
@@ -2,9 +2,20 @@
2
2
 
3
3
  膨大なデータを持つプログラムの書き方としては適さないのでしょうが、構造体の初期化の記述をなるべく崩さず、代替となる方法などがあればご教授いただきたいです。
4
4
  宜しくお願いします。
5
+
6
+ 開発環境はvisual studio 2005です。
7
+
5
8
  ```ここに言語を入力
6
9
  static TEST_BUFFER TESTNAME [] = {
7
- { ****, ****, ****, **** },
10
+ { _T("****"), _T("****"), _T("****"), _T("****") },
8
11
  ~(以下数千行続く)
9
12
  };
13
+
14
+ typedef struct _TEST_BUFFER{
15
+ CString buffer1;
16
+ CString buffer2;
17
+ CString buffer3;
18
+ CString buffer4;
19
+ } TEST_BUFFER;
20
+
10
21
  ```

2

タイトル微修正

2017/07/07 08:44

投稿

Angkorwat
Angkorwat

スコア31

title CHANGED
@@ -1,1 +1,1 @@
1
- 構造体の初期化指定が膨大な場合、コード生成に時間がかかる問題
1
+ 構造体の初期化指定が膨大な場合、コード生成に時間がかかる問題
body CHANGED
File without changes

1

タグの変更

2017/07/07 07:57

投稿

Angkorwat
Angkorwat

スコア31

title CHANGED
File without changes
body CHANGED
File without changes