⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_38043.htm

📁 vc
💻 HTM
字号:
<p>
序号:38043 发表者:hbm 发表日期:2003-04-30 11:39:12
<br>主题:Unhandled Exception in myfile.exe (NTDLL.DLL):0XC0000005:Acc
<br>内容:我用MFC编写了一段基于对话框的命令按钮,按钮按下后对数组数据进行处理的程序:<BR>void CDprocess::Fft(double Xc[],double Xs[],int N, int Inv)<BR>{<BR>&nbsp;&nbsp;double M = log(N) / log(2) + 0.1;<BR>&nbsp;&nbsp;int NV2 = N / 2;<BR>&nbsp;&nbsp;int NM1 = N - 1;<BR>&nbsp;&nbsp;int J = 1;<BR>&nbsp;&nbsp;double&nbsp;&nbsp;Tc;<BR>&nbsp;&nbsp;double&nbsp;&nbsp;Ts;<BR>&nbsp;&nbsp;int k;<BR>for(int I=1;I&lt;=NM1;I++)<BR>{&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(I&lt;J) <BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tc = Xc[J];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ts = Xs[J];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xc[J] = Xc[I];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xs[J]= Xs[I];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xc[I]= Tc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xs[I] = Ts;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;k=NV2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(k&lt;J)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;J=J-k;<BR>&nbsp;&nbsp;&nbsp;&nbsp;k=k/2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;J = J + k;<BR>}<BR>double Pi=3.14159265358579;<BR>int&nbsp;&nbsp;LE,LE1,IP;<BR>double&nbsp;&nbsp;Uc,Us,Wc,Ws,Uc1;<BR>for(int L=1;L&lt;=M;L++)<BR>{<BR>&nbsp;&nbsp; LE = 2 ^ L;<BR>&nbsp;&nbsp; LE1 = LE / 2;<BR>&nbsp;&nbsp; Uc = 1.0;<BR>&nbsp;&nbsp; Us =0.0;<BR>&nbsp;&nbsp; Wc = cos(Pi/LE1);<BR>&nbsp;&nbsp; Ws = -sin(Pi/LE1);<BR>&nbsp;&nbsp; if(Inv!=0)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;Ws=-Ws;<BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; for(J=1;J&lt;=LE1;J++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(I=J;J&lt;=N;I+=LE)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IP = I + LE1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tc = Xc[IP] * Uc - Xs[IP] * Us;&nbsp;&nbsp; //problem!!<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ts = Xs[IP] * Uc + Xc[IP] * Us;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xc[IP]=Xc[I]-Tc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xs[IP]=Xs[I]-Ts;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xc[I]=Xc[I]+Tc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xs[I]=Xs[I]+Ts;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; Uc1 = Uc * Wc - Us * Ws;<BR>&nbsp;&nbsp;&nbsp;&nbsp; Us = Us * Wc + Uc * Ws;<BR>&nbsp;&nbsp;&nbsp;&nbsp; Uc = Uc1;<BR>&nbsp;&nbsp; }<BR>}<BR>&nbsp;&nbsp;if(Inv!=0) <BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(int I=1;I&lt;=N;I++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp; Xc[I] = Xc[I]/N;<BR>&nbsp;&nbsp;&nbsp;&nbsp; Xs[I] = Xs[I]/N;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;}<BR>return;<BR>}<BR><BR><BR>在运行时,可以通过编译,但是对话框不知道为何消失。<BR>另外在调试时,却出现Unhandled Exception in myfile.exe (NTDLL.DLL):0XC0000005:Access Violation!消息提示对话框,<BR>此时光标停在:77F61769 Push esi 处。  <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR><BR><BR>另外在调试窗口出现:<BR>Loaded 'ntdll.dll', no matching symbolic information found.<BR>..................<BR>The thread 0x5B8 has exited with code 1 (0x1).<BR>First-chance exception in wave.exe: 0xC0000005: Access Violation.<BR>First-chance exception in wave.exe (NTDLL.DLL): 0xC0000005: Access Violation.<BR>请各位专家、朋友,帮个忙看一下错误的原因,应该如何改正!<BR>&nbsp;&nbsp; 谢谢!<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:ArthurTu 回复日期:2003-04-30 12:21:48
<br>内容:很可能是越界了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-04-30 19:29:19
<br>内容: 发表于 2003-4-30 11:39:12 [200分]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>--------------------------------------------------------------------------------<BR><BR>我用MFC编写了一段基于对话框的命令按钮,按钮按下后对数组数据进行处理的程序:<BR>void CDprocess::Fft(double Xc[],double Xs[],int N, int Inv)<BR>{<BR>&nbsp;&nbsp;double M = log(N) / log(2) + 0.1;<BR>&nbsp;&nbsp;int NV2 = N / 2;<BR>&nbsp;&nbsp;int NM1 = N - 1;<BR>&nbsp;&nbsp;int J = 1;<BR>&nbsp;&nbsp;double&nbsp;&nbsp;Tc;<BR>&nbsp;&nbsp;double&nbsp;&nbsp;Ts;<BR>&nbsp;&nbsp;int k;<BR>for(int I=1;I&lt;=NM1;I++)<BR>{&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(I&lt;J) <BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tc = Xc[J];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ts = Xs[J];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xc[J] = Xc[I];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xs[J]= Xs[I];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xc[I]= Tc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xs[I] = Ts;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;k=NV2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(k&lt;J)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;J=J-k;<BR>&nbsp;&nbsp;&nbsp;&nbsp;k=k/2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;J = J + k;<BR>}<BR>double Pi=3.14159265358579;<BR>int&nbsp;&nbsp;LE,LE1,IP;<BR>double&nbsp;&nbsp;Uc,Us,Wc,Ws,Uc1;<BR>for(int L=1;L&lt;=M;L++)<BR>{<BR>&nbsp;&nbsp; LE = 2 ^ L;<BR>&nbsp;&nbsp; LE1 = LE / 2;<BR>&nbsp;&nbsp; Uc = 1.0;<BR>&nbsp;&nbsp; Us =0.0;<BR>&nbsp;&nbsp; Wc = cos(Pi/LE1);<BR>&nbsp;&nbsp; Ws = -sin(Pi/LE1);<BR>&nbsp;&nbsp; if(Inv!=0)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;Ws=-Ws;<BR>&nbsp;&nbsp; }<BR>&nbsp;&nbsp; for(J=1;J&lt;=LE1;J++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(I=J;J&lt;=N;I+=LE)//I&lt;=N<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IP = I + LE1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tc = Xc[IP] * Uc - Xs[IP] * Us;&nbsp;&nbsp; //problem!!<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ts = Xs[IP] * Uc + Xc[IP] * Us;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xc[IP]=Xc[I]-Tc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xs[IP]=Xs[I]-Ts;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xc[I]=Xc[I]+Tc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Xs[I]=Xs[I]+Ts;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; Uc1 = Uc * Wc - Us * Ws;<BR>&nbsp;&nbsp;&nbsp;&nbsp; Us = Us * Wc + Uc * Ws;<BR>&nbsp;&nbsp;&nbsp;&nbsp; Uc = Uc1;<BR>&nbsp;&nbsp; }<BR>}<BR>&nbsp;&nbsp;if(Inv!=0) <BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(int I=1;I&lt;=N;I++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp; Xc[I] = Xc[I]/N;<BR>&nbsp;&nbsp;&nbsp;&nbsp; Xs[I] = Xs[I]/N;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;}<BR>return;<BR>} 
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -