(小幫手處理中) 將字串存入 10000列 的 Array 會出現編譯的問題

  •   141 
  • 最後發表   Sadless  2020 十月 29
Sadless 發文於   2020/10/29

我需要使用超過10000列的Array來處理資料,以下是簡化程式碼後發現的問題。

我寫了兩個測試函數腳本,存取10001個Array元素。

 

第一個測試函數腳本 Test.array.for 可以正常編譯,但是第二個測試函數腳本 Test.array.list 卻不能編譯。

 

 

第一個測試函數腳本 Test.array.for 如下:

//測試函數腳本:Test.array.for

variable: number_of_string(10000);

array:str_array[]("");

array_setmaxindex(str_array, number_of_string+1);

variable:i(0);

for i=0 to number_of_string
begin

    str_array[i] = "test";
end;

 

第二個測試函數腳本 Test.array.list如下:

PS. 該程式碼為示意版本,完整版如附件。

//測試函數腳本:Test.array.list

variable: number_of_string(10000);

array:str_array[]("");

array_setmaxindex(str_array, number_of_string+1);

str_array[0] = "test";
str_array[1] = "test";
str_array[2] = "test";

...

 

Test.array.list 在編譯的時候會出現下列錯誤:

Test.array.list-1-1ExitCode: 1
StdOut: 

StdErr: System\XSSystem\Tmp\466af53210cd49ff9679f742c8b914fb.cpp: In member function 'virtual void DJScript::Function::C76760ebfc4c0440491123ad81c783fbd::OnEvalBar()':
System\XSSystem\Tmp\466af53210cd49ff9679f742c8b914fb.cpp:10126:1: internal compiler error: Segmentation fault
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <mingw-w64-public@lists.sourceforge.net> for instructions.

 

我有試著只使用 10個Array元素,編譯是沒問題的:

//測試函數腳本:Test.array.list
//只使用 10 個 str_array元素


variable: number_of_string(10000);

array:str_array[]("");

array_setmaxindex(str_array, number_of_string+1);

str_array[0] = "test";
str_array[1] = "test";
str_array[2] = "test";
str_array[3] = "test";
str_array[4] = "test";
str_array[5] = "test";
str_array[6] = "test";
str_array[7] = "test";
str_array[8] = "test";
str_array[9] = "test";

 

請問小幫手,該編譯錯誤應該如何避免呢?

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2020/10/29

Sadless 您好

小幫手覺得您的這個問題跟之前我遇到的一個狀況很相似

https://forum.xq.com.tw/thread/%e8%bd%89%e6%8f%9b%e7%b3%bb%e7%b5%b1%e5%87%ba%e7%8f%be%e5%95%8f%e9%a1%8c-xq%e6%93%8d%e7%9b%a4%e9%ab%98%e6%89%8b-2-48-06-win-7-32%e4%bd%8d%e5%85%83-%e8%bd%89%e6%88%90-3-02-03-win-10-%e4%b8%80%e6%a8%a3%e5%a6%82%e4%b8%8a%e6%ac%a1-3-02-02-%e7%89%88%e5%95%8f%e9%a1%8c/

請參考看看這篇文章

主要是因為腳本過程而超過腳本的時間限制所導致

我會在幫您詢問看看開發人員 是不是同樣的問題

之後在回覆給您   感謝

Sadless 發文於   2020/10/29

好的,再麻煩小幫手了。

發表回覆
Close