C++:编程中的遇到的基本知识点及遇到的错误问题

输出"HelloWorld"

方式一:std::cout << "Hello World" << endl; 
方式二:cout << "Hello World" << endl; 
注:
  需要使用的头文件:iostream
    #include <iostream>
  方式一仅需要引入对应的头文件即可
  方式二需要添加命名空间
    using namespace std;

错误:…dll与…不一致(显示两个文件的地址,即拷贝前地址和拷贝后地址)

报错:...dll与...不一致(显示两个文件的地址,即拷贝前地址和拷贝后地址)
情形:将原工程文件进行复制,运行
解决:将动态库重新新生成

错误:C++使用UDP通信时,未修改非阻塞的情况下,recvfrom不阻塞且返回-1

使用std命名空间导致bind查找错误
将bing修改为::bind
csdn:[https://blog.csdn.net/jinking01/article/details/125371681](https://blog.csdn.net/jinking01/article/details/125371681)

声明全局变量,并在其他的cpp文件中使用

声明全局变量:`helloworld.cpp`
  int a = 0;
  int main(){
    return 0;
  }
使用全局变量:`test.cpp`
  extern int a;

在工程中使用动态库中的全局变量

动态库:声明全局变量-旧:
  int a = 0;
动态库:声明全局变量-新:
  _declspec(dllexport) int a = 0;
工程中:使用动态库中的全局变量:
  _declspec(dllimport) int a;
  int main(){
    std::cout<<"a:"<<a<<endl;
    return 0;
  }

错误:定义一个Struct,引入头文件不报错,但是使用报错。

多个头文件引用混乱,导致形成闭环。
  即:
    a.h引用b.h;b.h引用a.h
  解决:梳理关于头文件引用逻辑,防止形成闭环。包括头文件及源文件

防止头文件被重复包含和编译

方法一:
  使用宏定义避免重复引入
    #ifndef _NAME_H
    #define _NAME_H
    //头文件内容
    #endif
方法二:
  使用#pragma once避免重复引入
    #pragma once
    //头文件内容
方法三:
  使用_Pragma操作符
    _Pragma("once")
    //头文件内容
csdn:[https://blog.csdn.net/Lyncai/article/details/114698722](https://blog.csdn.net/Lyncai/article/details/114698722)

在主线程中创建一个子线程【可以在子线程中处理会堵塞的逻辑】

#include <iostream> #include <windows.h>
using namespace std;
DWORD WINAPI mythread(LPVOID lpParam) { 
  // 线程执行的代码 cout << "Thread started" << endl; return 0; 
}
int main() { 
  HANDLE hThread; // 线程句柄
  // 创建线程
  hThread = CreateThread(
      NULL,           // 默认安全属性
      0,              // 默认栈大小
      mythread,       // 线程函数
      NULL,           // 传递给线程函数的参数
      0,              // 线程创建后立即启动
      NULL            // 不需要线程标识符
  );
  // 检查线程是否创建成功
  if (hThread == NULL) {
      cout << "CreateThread failed" << endl;
      return 1;
  }
  // 等待线程结束
  WaitForSingleObject(hThread, INFINITE);
  // 关闭线程句柄
  CloseHandle(hThread);
  return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不写bug的柠宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值