我正在研究一种Windows代码,它将转换为Linux,并且此答案在这里 。 在Linux中,LARGE_INTEGER和BYTE之间可能没有内含数据类型,因此可能需要考虑特殊情况。
这两种数据类型可能在Linux中被以下两种替换
uint64_t中
无符号字符
其中第一个是stdint.h的一部分。 我建议用uint64_t代替LARGE_INTEGER和BYTE,但不确定。
可以使用哪些Linux数据类型代替LARGE_INTEGER和BYTE?
以下文件是此处描述的National Instruments用于MCA 8000A驱动程序的案例。
MictoTime.h
//
//
// MicroTime.h: interface for the MicroTime class.
//
// This header file is a part of the PMCA COM package
//
// Amptek Inc. 2000
//
//
#if !defined(AFX_MICROTIME_H__495147C7_F0B7_11D1_B62F_9CFF0CC10000__INCLUDED_)
#define AFX_MICROTIME_H__495147C7_F0B7_11D1_B62F_9CFF0CC10000__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
class MicroTimeType
{
LARGE_INTEGER m_startTime;
double m_microScale;
BOOL m_waiting;
public:
MicroTimeType();
LARGE_INTEGER GetCounter();
double Get(void);
double Wait(double microSec);
void CancelWait(void);
};
#endif // !defined(AFX_MICROTIME_H__495147C7_F0B7_11D1_B62F_9CFF0CC10000__INCLUDED_)
您是否需要在此处添加此答案的新类型? 您是否需要在其他任何地方定义uint8_t ?