代码拉取完成,页面将自动刷新
同步操作将从 张远浩/call_demo_server 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef __UTIL_H__
#define __UTIL_H__
#define _CRT_SECURE_NO_DEPRECATE // remove warning C4996,
#include "ostype.h"
#include "UtilPdu.h"
#include "Lock.h"
#include "Log.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifndef _WIN32
#include <strings.h>
#endif
#include <sys/stat.h>
#include <assert.h>
#ifdef _WIN32
#define snprintf sprintf_s
#else
#include <stdarg.h>
#include <pthread.h>
#include <time.h>
#include <sys/time.h>
#endif
#define NOTUSED_ARG(v) ((void)v) // used this to remove warning C4100, unreferenced parameter
/// yunfan modify end
class CRefObject
{
public:
CRefObject();
virtual ~CRefObject();
void SetLock(CLock* lock) { m_lock = lock; }
void AddRef();
void ReleaseRef();
private:
int m_refCount;
CLock* m_lock;
};
// Add By ZhangYuanhao 2015-01-14 For log show the file name not the full path + filename
#define __FILENAME__ (strrchr(__FILE__, '/') ? (strrchr(__FILE__, '/') + 1):__FILE__)
//#if defined(_WIN32) || defined(_WIN64)
//#define log(fmt, ...) EasyLog::Inst()->Log(mformat("<%s>\t<%d>\t<%s>,"fmt, __FILENAME__, __LINE__, __FUNCTION__, ##__VA_ARGS__))
//#else
#define log(fmt, args...) sysLog("<%s>|<%d>|<%s>," fmt, __FILENAME__, __LINE__, __FUNCTION__, ##args)
//#endif
//#define log(fmt, ...) printf("<%s>\t<%d>\t<%s>,\n" fmt, __FILENAME__, __LINE__, __FUNCTION__, ##__VA_ARGS__)
uint64_t get_tick_count();
void util_sleep(uint32_t millisecond);
class CStrExplode
{
public:
CStrExplode(char* str, char seperator);
virtual ~CStrExplode();
uint32_t GetItemCnt() { return m_item_cnt; }
char* GetItem(uint32_t idx) { return m_item_list[idx]; }
private:
uint32_t m_item_cnt;
char** m_item_list;
};
char* replaceStr(char* pSrc, char oldChar, char newChar);
string int2string(uint32_t user_id);
uint32_t string2int(const string& value);
void replace_mark(string& str, string& new_value, uint32_t& begin_pos);
void replace_mark(string& str, uint32_t new_value, uint32_t& begin_pos);
void writePid();
inline unsigned char toHex(const unsigned char &x);
inline unsigned char fromHex(const unsigned char &x);
string URLEncode(const string &sIn);
string URLDecode(const string &sIn);
int64_t get_file_size(const char *path);
const char* memfind(const char *src_str,size_t src_len, const char *sub_str, size_t sub_len, bool flag = true);
void init_log();
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。