Tag: runtime

包含SDL时,简单的tcp echo程序无法正常工作?

我有这个奇怪的问题,每当我#include “SDL/SDL.h” ,我的Windows套接字程序都不会执行。 它可以编译但运行时不会执行任何操作。 当我删除#include “SDL/SDL.h”标头,编译并运行时,它又开始工作了吗? 我正在尝试使SDL和我的原始套接字程序工作,但我不明白这是错误的。 //#include “SDL/SDL.h” #define _WIN32_WINNT 0x501 #include #include #include #include #include #include #define MAXLEN 80 using namespace std; const int winsockVersion = 2; int main( int argc, char* args[] ) { WSADATA wsadata; if ( (WSAStartup(MAKEWORD(2,0),&wsadata)) == 0){ cout<<"-[ WSAStartup Initialized. ]" << endl; char PORT[MAXLEN]; char SERVER[MAXLEN]; cout […]

是否可以在运行时更改结构的定义?

我不知道为什么你会想要这样做,但我很好奇是否有人知道答案。 是否有可能在运行时使用一个结构定义一段时间,然后更改该定义? 即 typedef struct { int a; int b; }my_struct; 后来…… typedef struct { int a; int b; int c; }my_struct;

“未定义的行为”是否延伸到编译时?

我们都听过警告,如果你在C或C ++中调用未定义的行为 , 任何事情都可能发生。 这是否仅限于任何运行时行为 ,还是包含任何编译时行为? 特别是,编译器在遇到调用未定义行为的构造时,允许拒绝代码(在标准中没有其他要求的情况下这样做),甚至崩溃?