C++ 在0x54FCC405(sfml-system-d-2.dll)访问冲突读取位置0x00000017处引发异常 #包括 #包括 使用名称空间sf; 使用名称空间std; 字符串计算() { 静态时钟=时钟(); 静态浮点小数时间=0; decimalTime+=clock.getElapsedTime().asSeconds(); int decimalTimeIntPart=地板(decimalTime); if(十进制时间部分>十进制时间) 十进制部分--; float-decimalTime-decimalTimeIntPart=decimalTime-decimalTimeIntPart; 字符串binaryTimeStr; int n=分贝分时; 而(n!=0) { binaryTimeStr=到字符串(n%2)+binaryTimeStr; n=(n-n%2)/2; } binaryTimeStr+=”; 浮动m=分米分馏部分; int t=4; 而(m!=0&&t!=0) { m*=2; 如果(m>=1) { binaryTimeStr+=“1”; m--; } 其他的 { binaryTimeStr+=“0”; } t--; } clock.restart(); 返回binaryTimeStr; } int main() { RenderWindow应用程序(视频模式(800600),“Heyyy!”,!Style::Resize+Style::Close); 字体; loadFromFile(“VT323 Regular.ttf”); 文本(“”,字体,40); setColor(Color(234,234,234)); 文本设置位置(80280); while(app.isOpen()) { 事件e; while(app.pollEvent(e)) { 如果(e.type==Event::Closed) app.close(); } app.clear(); text.setString(calculate()); 应用图(文本); app.display(); } 返回0; }
它在调试模式下工作,但在发布模式下,我在我的$FML_stuff.exe:0xC0000005:访问冲突读取位置0x00000017中得到“在0x550DC405(sfml-system-d-2.dll)抛出异常”C++ 在0x54FCC405(sfml-system-d-2.dll)访问冲突读取位置0x00000017处引发异常 #包括 #包括 使用名称空间sf; 使用名称空间std; 字符串计算() { 静态时钟=时钟(); 静态浮点小数时间=0; decimalTime+=clock.getElapsedTime().asSeconds(); int decimalTimeIntPart=地板(decimalTime); if(十进制时间部分>十进制时间) 十进制部分--; float-decimalTime-decimalTimeIntPart=decimalTime-decimalTimeIntPart; 字符串binaryTimeStr; int n=分贝分时; 而(n!=0) { binaryTimeStr=到字符串(n%2)+binaryTimeStr; n=(n-n%2)/2; } binaryTimeStr+=”; 浮动m=分米分馏部分; int t=4; 而(m!=0&&t!=0) { m*=2; 如果(m>=1) { binaryTimeStr+=“1”; m--; } 其他的 { binaryTimeStr+=“0”; } t--; } clock.restart(); 返回binaryTimeStr; } int main() { RenderWindow应用程序(视频模式(800600),“Heyyy!”,!Style::Resize+Style::Close); 字体; loadFromFile(“VT323 Regular.ttf”); 文本(“”,字体,40); setColor(Color(234,234,234)); 文本设置位置(80280); while(app.isOpen()) { 事件e; while(app.pollEvent(e)) { 如果(e.type==Event::Closed) app.close(); } app.clear(); text.setString(calculate()); 应用图(文本); app.display(); } 返回0; },c++,sfml,C++,Sfml,它在调试模式下工作,但在发布模式下,我在我的$FML_stuff.exe:0xC0000005:访问冲突读取位置0x00000017中得到“在0x550DC405(sfml-system-d-2.dll)抛出异常” 看起来我的文章大部分是代码,但我不知道还需要写什么,抱歉。这是因为在发布模式下运行时,您正在链接SFML的调试库 #include <SFML\Graphics.hpp> #include <string> using namespace sf; using
看起来我的文章大部分是代码,但我不知道还需要写什么,抱歉。这是因为在发布模式下运行时,您正在链接SFML的调试库
#include <SFML\Graphics.hpp>
#include <string>
using namespace sf;
using namespace std;
string calculate()
{
static Clock clock = Clock();
static float decimalTime = 0;
decimalTime += clock.getElapsedTime().asSeconds();
int decimalTimeIntPart = floorf(decimalTime);
if (decimalTimeIntPart > decimalTime)
decimalTimeIntPart--;
float decimalTimeFractionalPart = decimalTime - decimalTimeIntPart;
string binaryTimeStr;
int n = decimalTimeIntPart;
while (n != 0)
{
binaryTimeStr = to_string(n % 2) + binaryTimeStr;
n = (n - n % 2) / 2;
}
binaryTimeStr += ".";
float m = decimalTimeFractionalPart;
int t = 4;
while (m != 0 && t != 0)
{
m *= 2;
if (m >= 1)
{
binaryTimeStr += "1";
m--;
}
else
{
binaryTimeStr += "0";
}
t--;
}
clock.restart();
return binaryTimeStr;
}
int main()
{
RenderWindow app(VideoMode(800, 600), "Heyyy!", !Style::Resize + Style::Close);
Font font;
font.loadFromFile("VT323-Regular.ttf");
Text text("", font, 40);
text.setColor(Color(234, 234, 234));
text.setPosition(80, 280);
while (app.isOpen())
{
Event e;
while (app.pollEvent(e))
{
if (e.type == Event::Closed)
app.close();
}
app.clear();
text.setString(calculate());
app.draw(text);
app.display();
}
return 0;
}
-d表示调试,没有-d的dll表示发布模式
您也可以从SFML的文档中看到它
链接到与配置匹配的库非常重要:
“sfml-xxx-d.lib”用于调试,“sfml-xxx.lib”用于发布。混搭
可能导致交通事故
你是否试图通过写一篇文章来缩小问题的范围?
sfml-system-d-2.dll