VC++一些接口改为Linux接口

VC++一些接口改为Linux接口

gettimeofday

头文件

#ifndef NETSDK_MYTIME_H
#define NETSDK_MYTIME_H
#ifdef _WIN32
#include <windows.h>
#include <time.h>
int gettimeofday(struct timeval *tp, void *tzp);
#else
#include <sys/time.h>
#endif
#endif //NETSDK_MYTIME_H

C文件

#ifdef _WIN32
#include "wtime.h"

int gettimeofday(struct timeval *tp, void *tzp) {
    
    
    time_t clock;
    struct tm tm;
    SYSTEMTIME wtm;
    GetLocalTime(&wtm);
    tm.tm_year = wtm.wYear - 1900;
    tm.tm_mon = wtm.wMonth - 1;
    tm.tm_mday = wtm.wDay;
    tm.tm_hour = wtm.wHour;
    tm.tm_min = wtm.wMinute;
    tm.tm_sec = wtm.wSecond;
    tm.tm_isdst = -1;
    clock = mktime(&tm);
    tp->tv_sec = clock;
    tp->tv_usec = wtm.wMilliseconds * 1000;
    return (0);
}
#endif

pthread_create

头文件

#ifndef _WTHREAD_H_
#define _WTHREAD_H_

#ifdef _WIN32
#include <Windows.h>

typedef unsigned long int pthread_t;
typedef char pthread_attr_t;

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                   void *(*start_routine) (void *), void *arg);
void pthread_exit (void * retval);
#endif

#endif //_WTHREAD_H_

c文件

#ifdef _WIN32
#include "wthread.h"

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                   void *(*start_routine) (void *), void *arg) {
    
    
    HANDLE h = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)start_routine,
            arg, 0, thread);
    if (h == NULL) {
    
    
        return -1;
    }
    return 0;
}

void pthread_exit (void * retval) {
    
    
    ExitThread(0);
}
#endif

猜你喜欢

转载自blog.csdn.net/m0_46538608/article/details/106525689