• 2024-06-30关于函数指针和结构体一起的用法
    想到单片机中的中断处理不好多样化,一直通过函数指针传递,今天想通过函数指针实现多样化,在中断中放一个要执行的函数指针,在外面可以改变此指针指向的函数。配合结构体的使用,感受到面向对象中class的存在了。typedefint(*pFunc)(int);//定义一个函数指针类型intadd(inta){
  • 2023-12-18多线程+信号量同步线程
    实现场景:多线程+信号量实现线程同步执行线程在创建的时候并不能保证优先顺序,是异步的,如果想按照自己指定的顺序先后执行的话,可以使用一些互斥或者同步的方式;以下我是通过信号量来实现同步:信号量的类型是sem_t,需要的头文件是 #include<semaphore.h>,主要是方法是sem_init
  • 2023-12-12Time slice based task routine in C
          基于时间片的轮询任务调度实例。#include<stdint.h>#include<stdio.h>#include<WinSock2.h>#defineMAX_TASK_NUM10#defineMAX_HALF_WORD0xffff#definefalse0#definetrue1staticuint16_tg_ti
  • 2023-09-26实现function
    实现function需要先声明templateclassmyfunction;下面做特例化template<typenameR,typename...A> 需要#include<iostream>#include<functional>usingnamespacestd;template<typenameSignature>classmyfunction;template<typenameR,typena
  • 2023-08-02当编译器没有SetProcessDpiAwareness()这个函数时...
    #include<Shlobj.h>intsetdpi(){//定义一个函数指针类型typedefHRESULT(WINAPI*SetProcessDpiAwarenessFunc)(intvalue);//加载Shcore.dllHMODULEhModule=LoadLibrary("Shcore.dll");if(hModule==NULL){//加载失败
  • 2023-03-31day3 函数的定义和调用,练习编写简单的程序(记录1)
    一、函数的定义可以分为以下两种:1、函数声明和函数定义分离这种方法将函数声明和函数定义分开,通常在头文件中先声明函数原型,然后在源文件中实现函数定义。例如,头文件example.h中声明了一个函数add:#ifndefEXAMPLE_H#defineEXAMPLE_Hintadd(inta,intb);//声明函
  • 2022-10-26C++函数指针和回调函数
    C++函数指针和回调函数在C++中函数指针名就是函数的地址//定义函数指针:返回类型(*pfunc)(形参列表)void(*pfunc)(int,string);int(*pfunc)(int,string,double);
  • 2022-09-07Function pointer array
    #include<iostream>usingnamespacestd;doublesum(constdouble,constdouble);doubleproduct(constdouble,constdouble);doublesubtract(constdouble,c
  • 2022-09-02C语言学习笔记
    C语言学习笔记  预处理#include#include指令可以将另一个源文件的全部内容包含进来#include"stdio.h"#include<stdio.h>用尖括号时,C库函数头文件所在