本文整理汇总了C++中PrintMessage函数的典型用法代码示例。如果您正苦于以下问题:C++ PrintMessage函数的具体用法?C++ PrintMessage怎么用?C++ PrintMessage使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PrintMessage函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OpenLogFile
void COpenProgDlg::Read12F5xx(int dim, int dim2)
// read 12 bit PIC
// dim=program size dim2=config size
// vdd before vpp
// CONFIG @ 0x7FF (upon entering in program mode)
// OSCCAL in last memory location
// 4 ID + reserved area beyond code memory
{
CString str,aux;
int size;
int k=0,z=0,i,j;
char s[256],t[256];
if(dim2<4) dim2=4;
size=0x1000;
dati_hex.RemoveAll();
dati_hex.SetSize(size);
if(saveLog){
OpenLogFile(); //"Log.txt"
fprintf(logfile,"Read12F5xx(%d,%d)\n",dim,dim2);
}
unsigned int start=GetTickCount();
bufferU[0]=0;
j=1;
bufferU[j++]=SET_PARAMETER;
bufferU[j++]=SET_T1T2;
bufferU[j++]=1; //T1=1u
bufferU[j++]=100; //T2=100u
bufferU[j++]=SET_PARAMETER;
bufferU[j++]=SET_T3;
bufferU[j++]=2000>>8;
bufferU[j++]=2000&0xff;
bufferU[j++]=EN_VPP_VCC; //enter program mode
bufferU[j++]=0x0;
bufferU[j++]=SET_CK_D;
bufferU[j++]=0x0;
bufferU[j++]=EN_VPP_VCC; //VDD
bufferU[j++]=0x1;
bufferU[j++]=EN_VPP_VCC; //VDD+VPP
bufferU[j++]=0x5;
bufferU[j++]=NOP;
bufferU[j++]=READ_DATA_PROG; //configuration word
bufferU[j++]=INC_ADDR; // 7FF->000
bufferU[j++]=FLUSH;
for(;j<DIMBUF;j++) bufferU[j]=0x0;
write();
msDelay(2);
read();
if(saveLog)WriteLogIO();
for(z=0;z<DIMBUF-2&&bufferI[z]!=READ_DATA_PROG;z++);
if(z<DIMBUF-2){
dati_hex[0xfff]=(bufferI[z+1]<<8)+bufferI[z+2];
PrintMessage("\r\n");
PrintMessage1(strings[S_ConfigWord],dati_hex[0xfff]); //"\r\nConfiguration word: 0x%03X\r\n"
switch(dati_hex[0xfff]&0x03){
case 0:
PrintMessage(strings[S_LPOsc]); //"LP oscillator\r\n"
break;
case 1:
PrintMessage(strings[S_XTOsc]); //"XT oscillator\r\n"
break;
case 2:
PrintMessage(strings[S_IntOsc]); //"Internal osc.\r\n"
break;
case 3:
PrintMessage(strings[S_RCOsc]); //"RC oscillator\r\n"
break;
}
if(dati_hex[0xfff]&0x04) PrintMessage(strings[S_WDTON]); //"WDT ON\r\n"
else PrintMessage(strings[S_WDTOFF]); //"WDT OFF\r\n"
if(dati_hex[0xfff]&0x08) PrintMessage(strings[S_CPOFF]); //"Code protection OFF\r\n"
else PrintMessage(strings[S_CPON]); //"Code protection ON\r\n"
if(dati_hex[0xfff]&0x10) PrintMessage(strings[S_MCLRON]); //"Master clear ON\r\n"
else PrintMessage(strings[S_MCLROFF]); //"Master clear OFF\r\n"
}
else PrintMessage(strings[S_NoConfigW]); //"Impossibile leggere la config word\r\n"
//****************** read code ********************
PrintMessage(strings[S_CodeReading1]); //lettura codice ...
for(i=0,j=1;i<dim+dim2;i++){
bufferU[j++]=READ_DATA_PROG;
bufferU[j++]=INC_ADDR;
if(j>DIMBUF*2/4-2||i==dim+dim2-1){ //2 istruzioni -> 4 risposte
bufferU[j++]=FLUSH;
for(;j<DIMBUF;j++) bufferU[j]=0x0;
write();
msDelay(5);
read();
for(z=1;z<DIMBUF-2;z++){
if(bufferI[z]==READ_DATA_PROG){
dati_hex[k++]=(bufferI[z+1]<<8)+bufferI[z+2];
z+=2;
}
}
PrintStatus(strings[S_CodeReading],i*100/(dim+dim2),i); //"Read: %d%%, addr. %03X"
j=1;
if(saveLog){
fprintf(logfile,strings[S_Log7],i,i,k,k); //"i=%d(0x%X), k=%d(0x%X)\n"
WriteLogIO();
}
}
}
//.........这里部分代码省略.........
示例2: debug
void QueueScriptController::AddMessage(Message::EKind kind, const char* text)
{
const char* msgText = text + m_prefixLen;
if (!strncmp(msgText, "[NZB] ", 6))
{
debug("Command %s detected", msgText + 6);
if (!strncmp(msgText + 6, "NZBPR_", 6))
{
CString param = msgText + 6 + 6;
char* value = strchr(param, '=');
if (value)
{
*value = '\0';
GuardedDownloadQueue downloadQueue = DownloadQueue::Guard();
NzbInfo* nzbInfo = QueueScriptCoordinator::FindNzbInfo(downloadQueue, m_id);
if (nzbInfo)
{
nzbInfo->GetParameters()->SetParameter(param, value + 1);
}
}
else
{
error("Invalid command \"%s\" received from %s", msgText, GetInfoName());
}
}
else if (!strncmp(msgText + 6, "DIRECTORY=", 10) &&
m_event == QueueScriptCoordinator::qeNzbDownloaded)
{
GuardedDownloadQueue downloadQueue = DownloadQueue::Guard();
NzbInfo* nzbInfo = QueueScriptCoordinator::FindNzbInfo(downloadQueue, m_id);
if (nzbInfo)
{
nzbInfo->SetFinalDir(msgText + 6 + 10);
}
}
else if (!strncmp(msgText + 6, "MARK=BAD", 8))
{
m_markBad = true;
GuardedDownloadQueue downloadQueue = DownloadQueue::Guard();
NzbInfo* nzbInfo = QueueScriptCoordinator::FindNzbInfo(downloadQueue, m_id);
if (nzbInfo)
{
SetLogPrefix(nullptr);
PrintMessage(Message::mkWarning, "Marking %s as bad", *m_nzbName);
SetLogPrefix(m_script->GetDisplayName());
nzbInfo->SetMarkStatus(NzbInfo::ksBad);
}
}
else
{
error("Invalid command \"%s\" received from %s", msgText, GetInfoName());
}
}
else
{
NzbInfo* nzbInfo = nullptr;
{
GuardedDownloadQueue downloadQueue = DownloadQueue::Guard();
nzbInfo = QueueScriptCoordinator::FindNzbInfo(downloadQueue, m_id);
if (nzbInfo)
{
nzbInfo->AddMessage(kind, text);
}
}
if (!nzbInfo)
{
ScriptController::AddMessage(kind, text);
}
}
}
示例3: main
//.........这里部分代码省略.........
}
target_addr* tail = head->next;
while(tail !=NULL)
{
fprintf(addrFreq,"%04X\t%d\n",tail->address,tail->count);
tail = tail->next;
}
fclose(addrFreq);
fclose(txtfile2);
// Segment size
// printf("Segment size is %d \n" , sizeof(Segment));
// printf("Char size is %d \n" , sizeof(char));
// printf("Int size is %d \n" , sizeof(int));
// initialize file_size_global
file_size_global = newsize ; // in terms of # of symbols
new_size_global = newsize ; // in terms of # of symbols
int maxsize = (originalsize>newsize)?originalsize:newsize; // in terms of # of symbols
// printf("maxsize is : %d \n", maxsize);
//Initialize Table C
Table_C = (sym_t**)malloc((originalsize) * sizeof(sym_t *));
if(Table_C == NULL)
{
fprintf(stderr, "out of memory\n");
exit(1);
}
for(i = 0; i < originalsize; i++)
{
Table_C[i] = (sym_t*)malloc(newsize * sizeof(sym_t));
if(Table_C[i] == NULL)
{
fprintf(stderr, "out of memory\n");
exit(1);
}
}
// StoreCommon Segments
printf("originalsize %d\n", originalsize*sizeof(sym_t));
printf("newsize %d\n", newsize*sizeof(sym_t));
StoreCommonSeg(Table_C, originalfile, newfile, originalsize, newsize);
printf("SegCounter %d \n",Seg_counter );
//
//Segment * tmp = (&Seghead) -> next ;
//for( i = 0; i < Seg_counter ; i++ ) {
// printf("The %d Seg's length=%d StartingX is %d , Ending X is %d , StartingY is %d, EndingY is %d (%d,%d) \n", tmp->num,tmp->Ending_Y-tmp->Starting_Y, tmp->Starting_X , tmp->Ending_X, tmp->Starting_Y, tmp->Ending_Y,
// tmp->offset, tmp->address);
// tmp = tmp -> next ;
//}
// run MDCD
N = newsize;
Local_Optimum = (int *) malloc( (N+1) * sizeof(int));
S = (int *) malloc( (N+1) * sizeof(int));
Message = (char **) malloc((N+1) * sizeof(char *)) ;
cmd = (cmd_t*)malloc((N+1)*sizeof(cmd_t));
for( i = 0 ; i < N+1 ; i++) {
Message[i] = (char *) malloc(300 * sizeof(char));
}
//char Message[N+1][300];
//int beta;
//int Transfer_length;
Local_Optimum[0] = 0;
Message[0] = "Here is the beginning of the new code image" ;
cmd[0].type = -1;
cmd[0].length =-1;
cmd[0].inew=-1;
cmd[0].iold = -1;
//printf("%s", Message[0]);
S[0] = 0;
//printf("\n %d \n", beta);
runMDCD(newfile);
//for(i=1;i<N+1;i++)
//{
// printf("%s\n",Message[i]);
//}
//PrintMessage1(N);
PrintMessage(N);
printf("delta %d\n",Transfer_length);
// system("PAUSE");
for(i = 0; i < originalsize; i++)
free(Table_C[i]);
free(Table_C);
return 0;
}
示例4: scale2x
void scale2x(SDL_Surface *src, SDL_Surface *dst)
{
if(SDL_LockSurface(src) < 0)
PrintMessage("scale2x:Was not able to lock work surface");
if(SDL_LockSurface(dst) < 0)
PrintMessage("scale2x:Was not able to lock screen surface");
int looph, loopw;
Uint8* srcpix = (Uint8*)src->pixels;
Uint8* dstpix = (Uint8*)dst->pixels;
const int srcpitch = src->pitch;
const int dstpitch = dst->pitch;
const int width = src->w;
const int height = src->h;
switch(src->format->BytesPerPixel)
{
case 1: {
Uint8 E0, E1, E2, E3, B, D, E, F, H;
for(looph = 0; looph < height; ++looph)
{
for(loopw = 0; loopw < width; ++ loopw)
{
B = *(Uint8*)(srcpix + (MAX(0,looph-1)*srcpitch) + (1*loopw));
D = *(Uint8*)(srcpix + (looph*srcpitch) + (1*MAX(0,loopw-1)));
E = *(Uint8*)(srcpix + (looph*srcpitch) + (1*loopw));
F = *(Uint8*)(srcpix + (looph*srcpitch) + (1*MIN(width-1,loopw+1)));
H = *(Uint8*)(srcpix + (MIN(height-1,looph+1)*srcpitch) + (1*loopw));
E0 = D == B && B != F && D != H ? D : E;
E1 = B == F && B != D && F != H ? F : E;
E2 = D == H && D != B && H != F ? D : E;
E3 = H == F && D != H && B != F ? F : E;
*(Uint8*)(dstpix + looph*2*dstpitch + loopw*2*1) = E0;
*(Uint8*)(dstpix + looph*2*dstpitch + (loopw*2+1)*1) = E1;
*(Uint8*)(dstpix + (looph*2+1)*dstpitch + loopw*2*1) = E2;
*(Uint8*)(dstpix + (looph*2+1)*dstpitch + (loopw*2+1)*1) = E3;
}
}break;}
case 2: {
Uint16 E0, E1, E2, E3, B, D, E, F, H;
for(looph = 0; looph < height; ++looph)
{
for(loopw = 0; loopw < width; ++ loopw)
{
B = *(Uint16*)(srcpix + (MAX(0,looph-1)*srcpitch) + (2*loopw));
D = *(Uint16*)(srcpix + (looph*srcpitch) + (2*MAX(0,loopw-1)));
E = *(Uint16*)(srcpix + (looph*srcpitch) + (2*loopw));
F = *(Uint16*)(srcpix + (looph*srcpitch) + (2*MIN(width-1,loopw+1)));
H = *(Uint16*)(srcpix + (MIN(height-1,looph+1)*srcpitch) + (2*loopw));
E0 = D == B && B != F && D != H ? D : E;
E1 = B == F && B != D && F != H ? F : E;
E2 = D == H && D != B && H != F ? D : E;
E3 = H == F && D != H && B != F ? F : E;
*(Uint16*)(dstpix + looph*2*dstpitch + loopw*2*2) = E0;
*(Uint16*)(dstpix + looph*2*dstpitch + (loopw*2+1)*2) = E1;
*(Uint16*)(dstpix + (looph*2+1)*dstpitch + loopw*2*2) = E2;
*(Uint16*)(dstpix + (looph*2+1)*dstpitch + (loopw*2+1)*2) = E3;
}
}break;}
case 3: {
int E0, E1, E2, E3, B, D, E, F, H;
for(looph = 0; looph < height; ++looph)
{
for(loopw = 0; loopw < width; ++ loopw)
{
B = READINT24(srcpix + (MAX(0,looph-1)*srcpitch) + (3*loopw));
D = READINT24(srcpix + (looph*srcpitch) + (3*MAX(0,loopw-1)));
E = READINT24(srcpix + (looph*srcpitch) + (3*loopw));
F = READINT24(srcpix + (looph*srcpitch) + (3*MIN(width-1,loopw+1)));
H = READINT24(srcpix + (MIN(height-1,looph+1)*srcpitch) + (3*loopw));
E0 = D == B && B != F && D != H ? D : E;
E1 = B == F && B != D && F != H ? F : E;
E2 = D == H && D != B && H != F ? D : E;
E3 = H == F && D != H && B != F ? F : E;
WRITEINT24((dstpix + looph*2*dstpitch + loopw*2*3), E0);
WRITEINT24((dstpix + looph*2*dstpitch + (loopw*2+1)*3), E1);
WRITEINT24((dstpix + (looph*2+1)*dstpitch + loopw*2*3), E2);
WRITEINT24((dstpix + (looph*2+1)*dstpitch + (loopw*2+1)*3), E3);
}
}break;}
default: { /*case 4:*/
Uint32 E0, E1, E2, E3, B, D, E, F, H;
for(looph = 0; looph < height; ++looph)
{
for(loopw = 0; loopw < width; ++ loopw)
{
B = *(Uint32*)(srcpix + (MAX(0,looph-1)*srcpitch) + (4*loopw));
D = *(Uint32*)(srcpix + (looph*srcpitch) + (4*MAX(0,loopw-1)));
E = *(Uint32*)(srcpix + (looph*srcpitch) + (4*loopw));
F = *(Uint32*)(srcpix + (looph*srcpitch) + (4*MIN(width-1,loopw+1)));
H = *(Uint32*)(srcpix + (MIN(height-1,looph+1)*srcpitch) + (4*loopw));
//.........这里部分代码省略.........
示例5: read_data
ssize_t read_data(int fd,char *buffer,size_t n)
{
io_context *context;
int err=0,nr=0;
io_buffer iobuffer;
if(fd==-1)
PrintMessage(Fatal,"IO: Function read_data(%d) was called with an invalid argument.",fd);
if(nio<=fd || !io_contexts[fd])
PrintMessage(Fatal,"IO: Function read_data(%d) was called without calling init_io(%d) first.",fd,fd);
context=io_contexts[fd];
/* Create the output buffer */
iobuffer.data=buffer;
iobuffer.size=n;
iobuffer.length=0;
/* Read in new data */
if(!context->r_zlib_context)
{
if(!context->r_chunk_context)
{
if(context->r_file_data && context->r_file_data->length)
{
if(iobuffer.size>context->r_file_data->length)
{
memcpy(iobuffer.data,context->r_file_data->data,context->r_file_data->length);
iobuffer.length=context->r_file_data->length;
context->r_file_data->length=0;
}
else
{
memcpy(iobuffer.data,context->r_file_data->data,iobuffer.size);
iobuffer.length+=iobuffer.size;
memmove(context->r_file_data->data,context->r_file_data->data+iobuffer.size,context->r_file_data->length-iobuffer.size);
context->r_file_data->length-=iobuffer.size;
}
nr=iobuffer.length;
}
else
{
if(context->gnutls_context)
nr=io_gnutls_read_with_timeout(context->gnutls_context,&iobuffer,context->r_timeout);
else
nr=io_read_with_timeout(fd,&iobuffer,context->r_timeout);
if(nr>0) context->r_raw_bytes+=nr;
}
}
else /* if(context->r_chunk_context) */
{
do
{
if(context->gnutls_context)
err=io_gnutls_read_with_timeout(context->gnutls_context,context->r_file_data,context->r_timeout);
else
err=io_read_with_timeout(fd,context->r_file_data,context->r_timeout);
if(err>0) context->r_raw_bytes+=err;
if(err<0) break;
err=io_chunk_decode(context->r_file_data,context->r_chunk_context,&iobuffer);
if(err<0 || err==1) break;
}
while(iobuffer.length==0);
nr=iobuffer.length;
}
}
else /* if(context->r_zlib_context) */
{
if(!context->r_chunk_context)
{
/* Pre-emptively try uncompressing the data that already exists */
if(context->r_file_data->length>0)
{
err=io_zlib_uncompress(context->r_file_data,context->r_zlib_context,&iobuffer);
nr=iobuffer.length;
}
/* Read more data and uncompress it only if there was no error and no data already */
if(err==0 && nr==0)
{
do
{
if(context->gnutls_context)
err=io_gnutls_read_with_timeout(context->gnutls_context,context->r_file_data,context->r_timeout);
else
err=io_read_with_timeout(fd,context->r_file_data,context->r_timeout);
if(err>0) context->r_raw_bytes+=err;
if(err<0) break;
err=io_zlib_uncompress(context->r_file_data,context->r_zlib_context,&iobuffer);
if(err<0 || err==1) break;
}
while(iobuffer.length==0);
nr=iobuffer.length;
}
}
else /* if(context->r_chunk_context) */
//.........这里部分代码省略.........
示例6: PrintMessage
int KITECH_SDM8::SetParameter(Property parameter)
{
if(uart == NULL) {
PrintMessage("ERROR : KITECH_SDM8::SetParameter() -> A handle of UART is NULL.\n");
return API_ERROR;
}
if(parameter.FindName("Size") == false) return API_ERROR;
int size = atoi(parameter.GetValue("Size").c_str());
if(size <= 0) return API_ERROR;
joints.clear();
joints.resize(size);
char temp[64];
for(int i = 0; i < size; i++) {
sprintf(temp, "ID%d", i);
if(parameter.FindName(string(temp)) == false) goto ERROR_KITECH_SDM8_SET_PARAMETER;
joints[i].id = atoi(parameter.GetValue(temp).c_str());
sprintf(temp, "MaximumPower%d", i);
if(parameter.FindName(string(temp)) == false) goto ERROR_KITECH_SDM8_SET_PARAMETER;
joints[i].maximumPower = atof(parameter.GetValue(temp).c_str());
sprintf(temp, "LinePerRevolution%d", i);
if(parameter.FindName(string(temp)) == false) goto ERROR_KITECH_SDM8_SET_PARAMETER;
joints[i].linePerRevolution = atof(parameter.GetValue(temp).c_str());
sprintf(temp, "ReductionRatio%d", i);
if(parameter.FindName(string(temp)) == false) goto ERROR_KITECH_SDM8_SET_PARAMETER;
joints[i].reductionRatio = atof(parameter.GetValue(temp).c_str());
sprintf(temp, "MaximumVelocity%d", i);
if(parameter.FindName(string(temp)) == false) goto ERROR_KITECH_SDM8_SET_PARAMETER;
joints[i].maximumVelocity = atof(parameter.GetValue(temp).c_str());
sprintf(temp, "Acceleration%d", i);
if(parameter.FindName(string(temp)) == false) goto ERROR_KITECH_SDM8_SET_PARAMETER;
joints[i].acceleration = atof(parameter.GetValue(temp).c_str());
sprintf(temp, "MinimumPositionLimit%d", i);
if(parameter.FindName(string(temp)) == false) goto ERROR_KITECH_SDM8_SET_PARAMETER;
joints[i].minimumPositionLimit = atof(parameter.GetValue(temp).c_str());
sprintf(temp, "MaximumPositionLimit%d", i);
if(parameter.FindName(string(temp)) == false) goto ERROR_KITECH_SDM8_SET_PARAMETER;
joints[i].maximumPositionLimit = atof(parameter.GetValue(temp).c_str());
joints[i].deg2pulse = ENCODER_RESOLUTION / 360.0 / joints[i].reductionRatio;
joints[i].deg2rpm = 60.0 / 360.0 / joints[i].reductionRatio;
joints[i].dynamixel = new RobotisDynamixelUART(joints[i].id, uart);
}
for(size_t i = 0; i < joints.size(); i++) {
joints[i].dynamixel->SetMovingspeed(100);
}
this->parameter = parameter;
return API_SUCCESS;
ERROR_KITECH_SDM8_SET_PARAMETER :
PrintMessage("ERROR : KITECH_SDM8::SetParameter() -> Can't find parameters\n");
joints.clear();
joints.resize(size);
return API_ERROR;
}
示例7: PrintMessage
void Debug::PrintMessage(std::string& message) {
PrintMessage((const Char *)message.c_str());
}
示例8: PrintHeader
void PrintHeader( const char *title ) {
PrintMessage( "----- %s -----\n", title );
}
示例9: main
void main()
{
PrintMessage("Hello, World\n");
}
示例10: if
/*----------------------------------------------------------------------------------------------------------------------
| Called when the LOG command needs to be parsed from within the GarliReader block.
*/
void GarliReader::HandleLog(
NxsToken &token) /* the token used to read from `in' */
{
bool starting = false;
bool stopping = false;
bool appending = false;
bool replacing = false;
bool name_provided = false;
NxsString logfname;
// Retrieve all tokens for this command, stopping only in the event
// of a semicolon or an unrecognized keyword
//
for (;;)
{
token.GetNextToken();
if (token.Equals(";"))
{
break;
}
else if (token.Abbreviation("STOp"))
{
stopping = true;
}
else if (token.Abbreviation("STArt"))
{
starting = true;
}
else if (token.Abbreviation("Replace"))
{
replacing = true;
}
else if (token.Abbreviation("Append"))
{
appending = true;
}
else if (token.Abbreviation("File"))
{
logfname = GetFileName(token);
name_provided = true;
}
else
{
errormsg = "Unexpected keyword (";
errormsg += token.GetToken();
errormsg += ") encountered reading LOG command";
throw NxsException(errormsg, token.GetFilePosition(), token.GetFileLine(), token.GetFileColumn());
}
}
// Check for incompatible combinations of keywords
//
if (stopping && (starting || appending || replacing || name_provided))
{
errormsg = "Cannot specify STOP with any of the following START, APPEND, REPLACE, FILE";
throw NxsException(errormsg, token.GetFilePosition(), token.GetFileLine(), token.GetFileColumn());
}
if (appending && replacing)
{
errormsg = "Cannot specify APPEND and REPLACE at the same time";
throw NxsException(errormsg, token.GetFilePosition(), token.GetFileLine(), token.GetFileColumn());
}
if (logf_open && (starting || name_provided || appending || replacing))
{
errormsg = "Cannot start log file since log file is already open";
throw NxsException(errormsg, token.GetFilePosition(), token.GetFileLine(), token.GetFileColumn());
}
// Is user closing an open log file?
//
if (stopping)
{
logf.close();
logf_open = false;
message = "\nLog file closed";
PrintMessage();
return;
}
// If this far, must be attempting to open a log file
//
if (!name_provided)
{
errormsg = "Must provide a file name when opening a log file\n";
errormsg += "e.g., log file=doofus.txt start replace;";
throw NxsException(errormsg, token.GetFilePosition(), token.GetFileLine(), token.GetFileColumn());
}
if (appending)
{
logf_open = true;
logf.open(logfname.c_str(), ios::out | ios::app);
//.........这里部分代码省略.........
示例11: getPropertyMap
// Call back Declaration
ReturnType JoystickComp::onInitialize()
{
// XML에 저장된 프라퍼티를 parameter에 저장
Property parameter;
std::map<std::string, std::string> temp = getPropertyMap();
parameter.SetProperty(temp);
// dll 파일이름을 확인하여 없으면 에러 리턴
if(parameter.FindName("APIName") == false) {
PrintMessage("ERROR : JoystickComp::onInitialize() -> Can't find the APIName in property\n");
return OPROS_FIND_PROPERTY_ERROR;
}
#if defined(WIN32)
// DLL 로드
hOprosAPI = LoadLibrary((LPCSTR)parameter.GetValue("APIName").c_str());
if(hOprosAPI == NULL) {
PrintMessage("ERROR : JoystickComp::onInitialize() -> Can't find the %s\n", parameter.GetValue("APIName").c_str());
return OPROS_FIND_DLL_ERROR;
}
// API 로드
GET_OPROS_API getOprosAPI;
getOprosAPI = (GET_OPROS_API)GetProcAddress(hOprosAPI, "GetAPI");
if(getOprosAPI == NULL) {
PrintMessage("ERROR : JoystickComp::onInitialize() -> Can't get a handle of GetAPI Funtion\n");
FreeLibrary(hOprosAPI);
hOprosAPI = NULL;
return OPROS_LOAD_DLL_ERROR;
}
#else
hOprosAPI = dlopen(parameter.GetValue("APIName").c_str(), RTLD_LAZY);
if(hOprosAPI == NULL) {
PrintMessage("ERROR : JoystickComp::onInitialize() -> Can't find the %s\n", parameter.GetValue("APIName").c_str());
return OPROS_FIND_DLL_ERROR;
}
GET_OPROS_API getOprosAPI;
getOprosAPI = (GET_OPROS_API)dlsym(hOprosAPI, "GetAPI");
char *lastError = dlerror();
if(lastError != NULL) {
PrintMessage("ERROR : JoystickComp::onInitialize() -> Can't get a handle of GetAPI Funtion\n");
dlclose(hOprosAPI);
hOprosAPI = NULL;
return OPROS_LOAD_DLL_ERROR;
}
#endif
joystick = static_cast<Joystick *>(getOprosAPI());
if(joystick == NULL) {
PrintMessage("ERROR : JoystickComp::onInitialize() -> Can't get a handle of Joystick API\n");
#if defined(WIN32)
FreeLibrary(hOprosAPI);
#else
dlclose(hOprosAPI);
#endif
hOprosAPI = NULL;
return OPROS_LOAD_DLL_ERROR;
}
// API 초기화
if(joystick->Initialize(parameter) != API_SUCCESS) {
PrintMessage("ERROR : JoystickComp::onInitialize() -> Can't intilaize a Joystick API\n");
delete joystick;
joystick = NULL;
#if defined(WIN32)
FreeLibrary(hOprosAPI);
#else
dlclose(hOprosAPI);
#endif
hOprosAPI = NULL;
return OPROS_INITIALIZE_API_ERROR;
}
lastError = OPROS_SUCCESS;
PrintMessage("SUCCESS : JoystickComp::onInitialize()\n");
return OPROS_SUCCESS;
}
示例12: PrintMessage
BOOL CMemStat::GetStatus(PBALLOON_STAT pStat)
{
MEMORYSTATUS stat = {sizeof(stat)};
CComPtr< IEnumWbemClassObject > enumerator;
CComPtr< IWbemClassObject > memory;
ULONG retcnt;
_variant_t var_val;
HRESULT status = S_OK;
UINT idx = 0;
if(!pStat) {
PrintMessage("Invalid pointer");
return FALSE;
}
status = service->ExecQuery(
L"WQL",
L"SELECT * FROM Win32_PerfFormattedData_PerfOS_Memory",
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
NULL,
&enumerator
);
if (FAILED(status)) {
PrintMessage("Cannot execute query");
return FALSE;
}
while(enumerator)
{
status = enumerator->Next(
WBEM_INFINITE,
1L,
&memory,
&retcnt
);
if (retcnt == 0) {
break;
}
status = memory->Get(
L"PagesInputPerSec",
0,
&var_val,
NULL,
NULL
);
if (FAILED(status) || (var_val.vt == VT_NULL)) {
PrintMessage("Cannot get PagesInputPerSec");
var_val.vt = -1;
}
pStat[idx].tag = VIRTIO_BALLOON_S_SWAP_IN;
pStat[idx].val = (long)var_val;
idx++;
status = memory->Get(
L"PagesOutputPerSec",
0,
&var_val,
NULL,
NULL
);
if (FAILED(status) || (var_val.vt == VT_NULL)) {
PrintMessage("Cannot get PagesOutputPerSec");
var_val.vt = -1;
}
pStat[idx].tag = VIRTIO_BALLOON_S_SWAP_OUT;
pStat[idx].val = (long)var_val;
idx++;
status = memory->Get(
L"PageReadsPerSec",
0,
&var_val,
NULL,
NULL
);
if (FAILED(status) || (var_val.vt == VT_NULL)) {
PrintMessage("Cannot get PageReadsPerSec");
var_val.vt = -1;
}
pStat[idx].tag = VIRTIO_BALLOON_S_MAJFLT;
pStat[idx].val = (long)var_val;
idx++;
status = memory->Get(
L"PageFaultsPerSec",
0,
&var_val,
NULL,
NULL
);
if (FAILED(status) || (var_val.vt == VT_NULL)) {
PrintMessage("Cannot get PageFaultsPerSec");
var_val.vt = -1;
}
pStat[idx].tag = VIRTIO_BALLOON_S_MINFLT;
//.........这里部分代码省略.........
示例13: CoInitializeEx
BOOL CMemStat::Init()
{
HRESULT status = S_OK;
status = CoInitializeEx(NULL,
COINIT_MULTITHREADED);
if (FAILED(status)) {
PrintMessage("Cannot initialize COM");
return status;
}
initialized = TRUE;
status = CoInitializeSecurity(
NULL,
-1,
NULL,
NULL,
RPC_C_AUTHN_LEVEL_PKT,
RPC_C_IMP_LEVEL_IMPERSONATE,
NULL,
EOAC_NONE,
0
);
if (FAILED(status)) {
PrintMessage("Cannot initialize security");
return FALSE;
}
status = CoCreateInstance(
CLSID_WbemLocator,
NULL,
CLSCTX_INPROC_SERVER,
IID_IWbemLocator,
reinterpret_cast< void** >( &locator )
);
if (FAILED(status)) {
PrintMessage("Cannot create instance");
return FALSE;
}
status = locator->ConnectServer(
L"root\\cimv2",
NULL,
NULL,
0L,
0L,
NULL,
NULL,
&service
);
if (FAILED(status)) {
PrintMessage("Cannot connect to wmi server");
return FALSE;
}
status = CoSetProxyBlanket(service,
RPC_C_AUTHN_WINNT,
RPC_C_AUTHZ_NONE,
NULL,
RPC_C_AUTHN_LEVEL_CALL,
RPC_C_IMP_LEVEL_IMPERSONATE,
NULL,
EOAC_NONE
);
if (FAILED(status)) {
PrintMessage("Cannot set proxy blanket");
return FALSE;
}
return TRUE;
}
示例14: CUDA_CHECK_ERROR
bool CompactingHashTable::Build(const unsigned n,
const unsigned *d_keys,
const unsigned *d_values)
{
CUDA_CHECK_ERROR("Failed before attempting to build.");
unsigned num_failures = 1;
unsigned num_attempts = 0;
unsigned max_iterations = ComputeMaxIterations(n, table_size_,
num_hash_functions_);
unsigned total_table_size = table_size_ + kStashSize;
while (num_failures && ++num_attempts < kMaxRestartAttempts) {
if (num_hash_functions_ == 2)
constants_2_.Generate(n, d_keys, table_size_);
else if (num_hash_functions_ == 3)
constants_3_.Generate(n, d_keys, table_size_);
else if (num_hash_functions_ == 4)
constants_4_.Generate(n, d_keys, table_size_);
else
constants_5_.Generate(n, d_keys, table_size_);
// Initialize the cuckoo hash table.
CUDAWrapper::ClearTable(total_table_size,
kKeyEmpty,
d_scratch_cuckoo_keys_);
num_failures = 0;
cudaMemcpy(d_failures_,
&num_failures,
sizeof(unsigned),
cudaMemcpyHostToDevice);
unsigned *d_stash_count = NULL;
cudaMalloc((void**)&d_stash_count, sizeof(unsigned));
cudaMemset(d_stash_count, 0, sizeof(unsigned));
CUDAWrapper::CallHashBuildCompacting(n,
num_hash_functions_,
d_keys,
table_size_,
constants_2_,
constants_3_,
constants_4_,
constants_5_,
stash_constants_,
max_iterations,
d_scratch_cuckoo_keys_,
d_stash_count,
d_failures_);
CUDA_SAFE_CALL(cudaMemcpy(&stash_count_, d_stash_count,
sizeof(unsigned), cudaMemcpyDeviceToHost));
if (stash_count_) {
char buffer[256];
sprintf(buffer, "Stash count: %u", stash_count_);
PrintMessage(buffer, true);
}
CUDA_SAFE_CALL(cudaFree(d_stash_count));
CUDA_CHECK_ERROR("!!! Failed to cuckoo hash.\n");
CUDA_SAFE_CALL(cudaMemcpy(&num_failures,
d_failures_,
sizeof(unsigned),
cudaMemcpyDeviceToHost));
#ifdef COUNT_UNINSERTED
if (num_failures > 0) {
char buffer[256];
sprintf(buffer, "Num failures: %u", num_failures);
PrintMessage(buffer, true);
}
#endif
}
if (num_attempts >= kMaxRestartAttempts) {
PrintMessage("Completely failed to build.", true);
return false;
} else if (num_attempts > 1) {
char buffer[256];
sprintf(buffer, "Needed %u attempts", num_attempts);
PrintMessage(buffer);
}
if (num_failures == 0) {
CUDAWrapper::CallHashRemoveDuplicates(num_hash_functions_,
table_size_,
total_table_size,
constants_2_,
constants_3_,
constants_4_,
constants_5_,
stash_constants_,
d_scratch_cuckoo_keys_,
d_scratch_counts_);
// Do a prefix-sum over the values to assign each key a unique index.
CUDPPConfiguration config;
config.op = CUDPP_ADD;
//.........这里部分代码省略.........
示例15: PrintMessage
DWORD CService::ServiceHandlePowerEvent(DWORD evtype, DWORD flags)
{
PrintMessage("ServiceHandlePowerEvent");
return NO_ERROR;
}