这篇教程C++ GetMem函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetMem函数的典型用法代码示例。如果您正苦于以下问题:C++ GetMem函数的具体用法?C++ GetMem怎么用?C++ GetMem使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetMem函数的24个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: NGCUnFreezeBlock/**************************************************************************** * NGCUnFreezeBlock ***************************************************************************/intNGCUnFreezeBlock (char *name, uint8 * block, int size){ char buffer[20], *e; int len = 0; int rem = 0; GetMem (buffer, 11); if (strncmp (buffer, name, 3) != 0 || buffer[3] != ':' || buffer[10] != ':' || (len = strtol (&buffer[4], &e, 10)) == 0 || e != buffer + 10) { bufoffset -= 11; // go back to where we started return WRONG_FORMAT; } if (len > size) { rem = len - size; len = size; } ZeroMemory (block, size); GetMem ((char *) block, len); if (rem) { bufoffset += rem; } return SUCCESS;}
开发者ID:feraligatr,项目名称:snes9xgx,代码行数:37,
示例2: returnstatic void *amgmalloc (size_t n){ #ifndef DYNAMIC_MEMORY_ALLOCMODEL return(GetMem(MGHEAP(amgMG),n,FROM_BOTTOM)); #else return(GetMem(MGHEAP(amgMG),n,FROM_TOP)); #endif}
开发者ID:rolk,项目名称:ug,代码行数:8,
示例3: mainint main() { printf("Enter number of nodes: "); scanf("%d", &N); if (N < 3) return 0; GetMem(N); // printf("Enter left edge: "); // scanf("%e", &a); // printf("Enter right edge: "); // scanf("%e", &b); a = -1.0; b = 1.0; if (a >= b) return 0; Interpolate(N); printf("Retcode: %d", DrawWindow(DrawWindowContent, KeyPressFunction)); delete x; delete fv; delete d; delete w; return 0;}
开发者ID:tokar1,项目名称:mech-math,代码行数:26,
示例4: PRINTFint cN2Prov0501::ProcessBx(unsigned char *data, int len, int pos){ if(data[pos-1]!=0xBC) { PRINTF(L_SYS_EMU,"%04X: bad nano %02X for ROM 120",id,data[pos-1]); return -1; } if(pos!=(0x93-0x80)) { // maybe exploitable PRINTF(L_SYS_EMU,"%04X: refuse to execute from %04x",id,0x80+pos); return -1; } if(Init(id,120)) { SetMem(0x80,data,len); SetPc(0x80+pos); SetSp(0x0FFF,0x0FE0); Set(0x0001,0xFF); Set(0x000E,0xFF); Set(0x0000,0x04); ClearBreakpoints(); AddBreakpoint(0x821f); AddBreakpoint(0x0000); AddRomCallbacks(); while(!Run(hasMaprom ? 20000:5000)) { if(GetPc()==0x821f) { GetMem(0x80,data,len); return a; } else if(GetPc()==0x0000) break; else if(!RomCallbacks()) break; } } return -1;}
开发者ID:3PO,项目名称:vdr-plugin-sc,代码行数:32,
示例5: bool MemoryBlockLE::Read128(const u64 addr, u128* value){ if(!IsMyAddress(addr)) return false; *value = *(u128*)GetMem(FixAddr(addr)); return true;}
开发者ID:TheGeekAndrew,项目名称:rpcs3,代码行数:7,
示例6: NewListCDSByLevel/** * Create new list by level */PLISTCDSBYLEVEL NewListCDSByLevel(PLISTCDSBYLEVEL plcdsbylevel) { plcdsbylevel = (PLISTCDSBYLEVEL) GetMem(1, sizeof(LISTCDSBYLEVEL), "NewListCDSByLevel"); plcdsbylevel->pFirstLCDS = NULL; plcdsbylevel->NElem = 0; plcdsbylevel->MaxNElem = 0; return plcdsbylevel;}
开发者ID:josmanual,项目名称:DivSRegOnGrid,代码行数:10,
示例7: re__forceinline void MemoryBlock::FastWrite<u128>(const u64 addr, const u128 value){ u128 res; res.lo = re(value.hi); res.hi = re(value.lo); *(u128*)GetMem(addr) = res;}
开发者ID:TheGeekAndrew,项目名称:rpcs3,代码行数:7,
示例8: memcpybool MemoryBlock::SetMemFromAddr(void* src, const u64 addr, const u32 size){ if(!IsMyAddress(addr) || FixAddr(addr) + size > GetSize()) return false; memcpy(GetMem(FixAddr(addr)), src, size); return true;}
开发者ID:sireq,项目名称:rpcs3,代码行数:8,
示例9: switchunsigned int Cpu::GetData(unsigned char Addressing, unsigned int Argument){ switch(Addressing) { case 0: return GetReg(Argument); case 1: return GetMem(GetReg(Argument)); case 2: return Argument; case 3: return GetMem(Argument); default: CoreCrash("Unknow addressing: %d", Addressing); return 0; }}
开发者ID:RonxBulld,项目名称:anvm,代码行数:17,
示例10: GetMembool MemoryBlock::GetMemFFromAddr(void* dst, const u64 addr){ if(!IsMyAddress(addr)) return false; dst = GetMem(FixAddr(addr)); return true;}
开发者ID:sireq,项目名称:rpcs3,代码行数:8,
示例11: Interpolatevoid Interpolate(int n) { FreeMem(); GetMem(n); GetMaxMin(); GetNodesAndValues(n); GetWeights(n);}
开发者ID:tokar1,项目名称:mech-math,代码行数:8,
示例12: NewLCDSNodeByLevel/** * New node by level */PLCDSNODEBYLEVEL NewLCDSNodeByLevel(PLISTCDS plcds) { PLCDSNODEBYLEVEL plcsnbylevel; plcsnbylevel = (PLCDSNODEBYLEVEL) GetMem((SIZE) 1, (SIZE) sizeof(LCDSNODEBYLEVEL), "NewLCDSNodeByLevel"); plcsnbylevel->plcds = plcds; plcsnbylevel->level = -1; plcsnbylevel->pnext = NULL; return plcsnbylevel;}
开发者ID:josmanual,项目名称:DivSRegOnGrid,代码行数:13,
示例13: offsetStringToIntint offsetStringToInt(unsigned int type, const char* offsetBuffer){ int offset = -1; if (sscanf(offsetBuffer,"%4X",&offset) == EOF) { return -1; } if (type & BT_P) { return offset & 0x3FFF; } else if (type & BT_S) { return offset & 0x00FF; } else // BT_C { if (GameInfo->type == GIT_NSF) { //NSF Breakpoint keywords if (strcmp(offsetBuffer,"LOAD") == 0) return (NSFHeader.LoadAddressLow | (NSFHeader.LoadAddressHigh<<8)); if (strcmp(offsetBuffer,"INIT") == 0) return (NSFHeader.InitAddressLow | (NSFHeader.InitAddressHigh<<8)); if (strcmp(offsetBuffer,"PLAY") == 0) return (NSFHeader.PlayAddressLow | (NSFHeader.PlayAddressHigh<<8)); } else if (GameInfo->type == GIT_FDS) { //FDS Breakpoint keywords if (strcmp(offsetBuffer,"NMI1") == 0) return (GetMem(0xDFF6) | (GetMem(0xDFF7)<<8)); if (strcmp(offsetBuffer,"NMI2") == 0) return (GetMem(0xDFF8) | (GetMem(0xDFF9)<<8)); if (strcmp(offsetBuffer,"NMI3") == 0) return (GetMem(0xDFFA) | (GetMem(0xDFFB)<<8)); if (strcmp(offsetBuffer,"RST") == 0) return (GetMem(0xDFFC) | (GetMem(0xDFFD)<<8)); if ((strcmp(offsetBuffer,"IRQ") == 0) || (strcmp(offsetBuffer,"BRK") == 0)) return (GetMem(0xDFFE) | (GetMem(0xDFFF)<<8)); } else { //NES Breakpoint keywords if ((strcmp(offsetBuffer,"NMI") == 0) || (strcmp(offsetBuffer,"VBL") == 0)) return (GetMem(0xFFFA) | (GetMem(0xFFFB)<<8)); if (strcmp(offsetBuffer,"RST") == 0) return (GetMem(0xFFFC) | (GetMem(0xFFFD)<<8)); if ((strcmp(offsetBuffer,"IRQ") == 0) || (strcmp(offsetBuffer,"BRK") == 0)) return (GetMem(0xFFFE) | (GetMem(0xFFFF)<<8)); } } return offset;}
开发者ID:dmitrysmagin,项目名称:fceu320-rzx50,代码行数:40,
示例14: sizeof void* Context::Allocate(std::size_t sz) { struct TaggedObj* obj; if (POOL && sz < 8192) { std::vector<void*>& poolForSize = pools[sz]; if (poolForSize.size() > 0) { obj = reinterpret_cast<struct TaggedObj*>(poolForSize.back()); poolForSize.pop_back(); } else obj = reinterpret_cast<struct TaggedObj*>(GetMem(sz + sizeof(Context*))); } else obj = reinterpret_cast<struct TaggedObj*>(GetMem(sz + sizeof(Context*))); obj->context = this; return &(obj->body); }
开发者ID:tosca-lang,项目名称:tosca,代码行数:22,
示例15: AddProtectedProcessVOID AddProtectedProcess(HANDLE ParentProcessId, HANDLE ProcessId) { PPROTECTED_PROCESS CurrentProcess = ProtectedProcess; // Если список ещё пуст: if (ProtectedProcess == NULL) { CurrentProcess = GetMem(sizeof(PROTECTED_PROCESS)); FillProtectionStruct(CurrentProcess, ParentProcessId, ProcessId); ProtectedProcess = CurrentProcess; return; } // Ищем последний элемент в списке: while (CurrentProcess->NextEntry != NULL) { if (CurrentProcess->ProcessID == ProcessId) return; CurrentProcess = CurrentProcess->NextEntry; } if (CurrentProcess->ProcessID == ProcessId) return; CurrentProcess->NextEntry = GetMem(sizeof(PROTECTED_PROCESS)); FillProtectionStruct(CurrentProcess->NextEntry, ParentProcessId, ProcessId);}
开发者ID:tetratec,项目名称:EnjoyTheRing0,代码行数:22,
示例16: Lockvoid CMyList::PushHead(void *tagData){ Lock(); MYLIST_NODE *pNewNode = (MYLIST_NODE *) GetMem(sizeof(MYLIST_NODE)); pNewNode->pData = tagData; pNewNode->pNext = m_MyListHead; if (m_MyListHead == NULL) { m_MyListTail = pNewNode; } m_MyListHead = pNewNode; m_NodeCount++; UnLock();}
开发者ID:vagabond1132,项目名称:Code,代码行数:14,
示例17: GetKeyValueNTSTATUS GetKeyValue(HANDLE hKey, LPWSTR ValueName, PVOID OutputBuffer, ULONG BufferSize, OUT OPTIONAL PULONG BytesReturned) { if (BytesReturned != NULL) *BytesReturned = 0; UNICODE_STRING UnicodeValueName; RtlInitUnicodeString(&UnicodeValueName, ValueName); ULONG PartialInformationSize = sizeof(KEY_VALUE_PARTIAL_INFORMATION) + BufferSize - 1; PKEY_VALUE_PARTIAL_INFORMATION PartialInformation = GetMem(PartialInformationSize); ULONG ResultLength = 0; NTSTATUS Status = ZwQueryValueKey(hKey, &UnicodeValueName, KeyValuePartialInformation, PartialInformation, PartialInformationSize, &ResultLength); if NT_SUCCESS(Status) { RtlCopyMemory(OutputBuffer, PartialInformation->Data, PartialInformation->DataLength); if (BytesReturned != NULL) *BytesReturned = PartialInformation->DataLength; } else if ((BytesReturned != NULL) && ((Status == STATUS_BUFFER_OVERFLOW) || (Status == STATUS_BUFFER_TOO_SMALL))) {
开发者ID:MrTrojan,项目名称:EnjoyTheRing0,代码行数:16,
示例18: handleDumpvoid handleDump(char* start, char* end) { int s = strtol(start, NULL, 16); int e = strtol(end, NULL, 16); bool ok = true; if(s > e){ printf("Error, start address is larger than end address/n"); ok = false; } if(e > 32767){ printf("Error: end address out of range 0x0 - 0x7FFF/n"); ok = false; } if(s < 0){ printf("Error: start address is negative"); ok = false; } if (ok) { printf("dumping from 0x%X to 0x%X/n", s, e); int i = 0; int temp = 0; printf(" +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F/n"); while (i < s % 16) { if(i == 0) printf("0x%06X: ", s); printf("-- "); if(i == 7) printf("|| "); i++; } if(s % 16 == 0) printf("0x%06X: ", s); while (s <= e) { GetMem(s, &temp, 0); printf("%2X ", temp); temp = s%16; if(temp == 7) printf("|| "); if(temp == 15 && s < e) printf("/n0x%06X: ", s); s++; } i = 0; temp = e%16; while(i + temp < 15){ printf("-- "); if(i + temp == 6) printf("|| "); i++; } printf("/n"); }}// </editor-fold>
开发者ID:Brandon-Barajas,项目名称:CMPE-Phase4,代码行数:46,
示例19: SetSpint cN2Prov0501::RunEmu(unsigned char *data, int len, unsigned short load, unsigned short run, unsigned short stop, unsigned short fetch, int fetch_len){ if(Init(id,120)) { SetSp(0x0FFF,0x0EF8); SetMem(load,data,len); SetPc(run); ClearBreakpoints(); AddBreakpoint(stop); if(stop!=0x0000) AddBreakpoint(0x0000); AddRomCallbacks(); while(!Run(100000)) { if(GetPc()==0x0000 || GetPc()==stop) { GetMem(fetch,data,fetch_len); return 1; } else if(!RomCallbacks()) break; } } return -1;}
开发者ID:3PO,项目名称:vdr-plugin-sc,代码行数:20,
示例20: GetSharedDataPSHARED_DISP_DATA GetSharedData(){ PSHARED_DISP_DATA* pData = (PSHARED_DISP_DATA*)GetMem(); if (!*pData) { KdPrint(("Shared data not allocated, creating/n")); *pData = (PSHARED_DISP_DATA) ExAllocatePool (NonPagedPool, sizeof(SHARED_DISP_DATA)); if (!*pData) { KdPrint (("ExAllocatePool failed/n")); return NULL; } memset (*pData, 0, sizeof(SHARED_DISP_DATA)); (*pData)->Signature = SHARED_SIGNATURE; } return *pData;}
开发者ID:340211173,项目名称:hf-2011,代码行数:23,
示例21: PushHeadvoid CMyList::PushIndex(int idx, void *tagData){ if (idx <= 0) { PushHead(tagData); return; } if (idx >= m_NodeCount) { PushBack(tagData); return; } MYLIST_NODE *pNewNode = (MYLIST_NODE *) GetMem(sizeof(MYLIST_NODE)); pNewNode->pData = tagData; pNewNode->pNext = NULL; Lock(); MYLIST_NODE *pPrev = NULL, *pCurr = m_MyListHead; for (int i=0; i<idx; i++) { pPrev = pCurr; pCurr = pCurr->pNext; } if (pPrev) { pPrev->pNext = pNewNode; pNewNode->pNext = pCurr; } else { m_MyListHead = pNewNode; } m_NodeCount++; UnLock();}
开发者ID:vagabond1132,项目名称:Code,代码行数:37,
示例22: OnTrsaction//CMD_TRSACTION//请求: [B0: 协议字] [B1: 0x0-Rollback, 0x1-StartTrsaction, 0x2-Commit]//响应: [B0: 协议字] [B1: 执行结果0|1]int OnTrsaction(QUEUE_LIST *pDataNode){#ifndef _SUPPORT_CLITR //不支持客户端事物 setCmdError(pDataNode); return 1;#endif //客户端事务连接链表 CTrastionList *pTrList = pDataNode->pCliTr; SAConnection *psaConn = pTrList->getCliTrConn(pDataNode->SrvrPort, pDataNode->PeerSockId); //请求报文(MSG) CliTrsaction_t Req = (CliTrsaction_t)pDataNode->Buffer[1]; switch (Req) { case TR_ROLLBACK: if (NULL == psaConn) setCmdError(pDataNode); else { psaConn->Rollback(); //删除客户端事物连接 pTrList->delCliTrConn(pDataNode->SrvrPort, pDataNode->PeerSockId); setCmdSucceed(pDataNode); } break; case TR_START: if (NULL == psaConn) { //新建客户端事物连接 TRSACTION_NODE *pNode = (TRSACTION_NODE *) GetMem(sizeof(TRSACTION_NODE)); pNode->SrvrPort = pDataNode->SrvrPort; pNode->PeerSockId = pDataNode->PeerSockId; pNode->psaConn = new SAConnection(); if (isDBConnect(pNode->psaConn, pDataNode->thd_info)) { pTrList->PushHead((void *)pNode); //加入节点到链表 } else { delete pNode->psaConn; FreeMem(pNode); setCmdError(pDataNode); return 1; } } setCmdSucceed(pDataNode); break; case TR_COMMIT: if (NULL == psaConn) setCmdError(pDataNode); else { psaConn->Commit(); //删除客户端事物连接 pTrList->delCliTrConn(pDataNode->SrvrPort, pDataNode->PeerSockId); setCmdSucceed(pDataNode); } break; default: return 0; } return 1;}
开发者ID:vagabond1132,项目名称:Code,代码行数:69,
示例23: OnExecSQL//CMD_EXECSQL//远程客户端请求执行SQL//请求: [B0: 协议字] [B1:是否需要返回结果集] [B2~B5: 请求的起始记录号] [B6~B9: 最大返回的记录数] [B10~Bn: SQL语句]//响应: [B0: 协议字] [B1: 执行结果0|1] [B2: 是否还有后续数据0|1] [B3..Bn: CDS结果集]int OnExecSQL(QUEUE_LIST *pDataNode){#ifdef _SUPPORT_CLITR //支持客户端事务连接 if (NULL != pDataNode->psaConn) { SAConnection *p = pDataNode->pCliTr->getCliTrConn(pDataNode->SrvrPort, pDataNode->PeerSockId); if (p) pDataNode->psaConn = p; }#endif //报文(MSG) unsigned char *p = pDataNode->Buffer; p++; int iStartRecNo, iMaxCount, iSqlLen; bool bNeedReturnData = (*p == 1); p++; P2DW(iStartRecNo, p); p += 4; P2DW(iMaxCount, p); p += 4; P2W(iSqlLen, p); p += 2; if (iSqlLen > 8 * ONE_PACKSIZE) { setCmdError(pDataNode); return 1; } unsigned char *pSQL = (unsigned char *) GetMem(iSqlLen + 1); memcpy(pSQL, p, iSqlLen); pSQL[iSqlLen] = 0; thd_log(LOG_DEBUG,"Execute SQL: %s", pSQL); SACommand saCmd; try{ saCmd.setConnection(pDataNode->psaConn); saCmd.setCommandText(_TSA(pSQL)); saCmd.Execute(); } catch(SAException &x) { thd_log( LOG_ERROR,(char *)"SQLAPI Exception %s", _T(x.ErrText())); setCmdError(pDataNode); return 1; } p = &pDataNode->Buffer[1]; int iOutLen = 1; *p++ = CMD_OK; //执行SQL成功 iOutLen++; *p++ = 0x0; iOutLen++; //不需要返回数据 if (!bNeedReturnData) { //m_pDataNode->psaConn->Commit(); int rowUpd = saCmd.RowsAffected(); //更新的记录数 W2P(p, rowUpd); iOutLen += 2; pDataNode->Length = iOutLen; FreeMem(pSQL); return 1; } bool bHasNext = false; p += 2; //返回数据 int iRet = CopyDataSet(&bHasNext, p, ALL_PACKSIZE, &saCmd, iStartRecNo, iMaxCount); p -= 2; W2P(p, iRet); //记录集大小 if (bHasNext) pDataNode->Buffer[2] = 0x1; //存在未返回记录 iOutLen += 2 + iRet; pDataNode->Length = iOutLen; thd_log(LOG_DEBUG,"cdsfmt2 len = %d",pDataNode->Length); trace_mem( LOG_DEBUG,pDataNode->Buffer, pDataNode->Length); FreeMem(pSQL); return 1;}
开发者ID:vagabond1132,项目名称:Code,代码行数:84,
示例24: __forceinline const u8 MemoryBlock::FastRead8(const u64 addr) const{ return *GetMem(addr);}
开发者ID:sireq,项目名称:rpcs3,代码行数:4,
注:本文中的GetMem函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ GetMember函数代码示例 C++ GetMaxY函数代码示例 |