
#include <iostream>#include <fstream>#include <windows.h>#pragma warning (disable : 4820 4619 4668 4101)HANDLE ghEvents;const int arc = 2048; const int are = 8192;struct DataStructure_init { int main_seq[are][32]; int main_seq2[are][32]; int main_seq3[are][32]; int main_lim[are];};struct DataStructure_trus { int net[arc]; int r6[arc]; int thr[arc];};int ftrus (unsigned char cmain[],int array_inst[],DataStructure_trus& va);int finit (DataStructure_trus va,DataStructure_init& in);using namespace std;int main(){ unsigned char cmain[are]; int array_inst[64]={0}; DataStructure_trus va; DataStructure_init in; ftrus(cmain,array_inst,va); finit(va,in); cin.get();}int finit (DataStructure_trus va,DataStructure_init& in){ int nb=0,flag=0,lock=0; for(int i=0;i<are;i++){ for(int j=0;j<24;j++){ in.main_seq[i][j]=va.thr[(i*24)+j]; } } return 0;}int ftrus (unsigned char cmain[],DataStructure_trus& va){ int g=0; ifstream in("C:\Dev-Cpp\DCS\Decom\trus.txt",ios::binary); unsigned char c; while( in.read((char *)&c,1) ) { cmain[g]=c; if(cmain[g]==' ' && cmain[g-1]=='t' && cmain[g-2]=='e' && cmain[g-3]=='n') {array_inst[1]=g+1;} else if(cmain[g]==' ' && cmain[g-1]=='r' && cmain[g-2]=='h' && cmain[g-3]=='t') {array_inst[9]=g+1;array_inst[21]=g-7;} g++; } array_inst[29]=g-2; for(int i=0;i<64;i++){va.r6[i]=0;} for(int i=array_inst[1];i<array_inst[21];i++){ if(cmain[i]=='1'){va.net[va.r6[1]]=1;va.r6[1]++;} else {va.net[va.r6[1]]=0;va.r6[1]++;} } for(int i=array_inst[9];i<array_inst[29];i++){ if(cmain[i]=='1'){va.thr[va.r6[9]]=1;va.r6[9]++;} else {va.thr[va.r6[9]]=0;va.r6[9]++;} } return 0;}解决方法 您不必将数组放在main()中的堆栈上,您也可以在进入函数之前静态地分配它们.这将把它们放在一个不受默认堆栈大小限制的区域. unsigned char cmain[are];int array_inst[64]={0};DataStructure_trus va;DataStructure_init in;int main() { ftrus(cmain,va); finit(va,in); cin.get(); } 总结 以上是内存溢出为你收集整理的c – 数组大小限制全部内容,希望文章能够帮你解决c – 数组大小限制所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)