// ============================================================================ // >> main // ============================================================================ int main() { CHookManager* pHookMngr = GetHookManager(); // Prepare calling convention std::vector<DataType_t> vecArgTypes; vecArgTypes.push_back(DATA_TYPE_INT); // Hook the function CHook* pHook = pHookMngr->HookFunction( (void *) &MyFunc, new x86MsStdcall(vecArgTypes, DATA_TYPE_INT) ); pHook->AddCallback(HOOKTYPE_PRE, (HookHandlerFn *) (void *) &PreMyFunc); pHook->AddCallback(HOOKTYPE_POST, (HookHandlerFn *) (void *) &PostMyFunc); // Call the function int return_value = MyFunc(0); assert(g_iMyFuncCallCount == 4); assert(g_iPreMyFuncCallCount == 4); assert(g_iPostMyFuncCallCount == 4); assert(return_value == 3); //pHookMngr->UnhookAllFunctions(); return 0; }
int main() { int n = 5; printf("C Entered: %d\n", n); int m = MyFunc(n); printf("C Got: %d\n", m); return 0; }
// ============================================================================ // >> stdcall test // ============================================================================ int __stdcall MyFunc(int x) { g_iMyFuncCallCount++; assert(x >= 0 && x <= 3); if (x == 3) return x; return MyFunc(x + 1); }
void Plotter::doPaint(QPainter &painter) { QColor c1(127, 0, 0); QColor c2(0, 127, 0); QColor c3(0, 0, 127); QPen p(c1); p.setWidth(2); painter.setPen(p); QPainterPath path_sign; QPainterPath path_res; ////////////////////////////////// door_.setMainData(E_, tlim_); ////////////////////////////////// //for rand() QTime time = QTime::currentTime(); qsrand((uint)time.msec()); //for signal QPointF p_sign; float sig_end = 6*M_PI; float sig_count = width()/2; float sig_step = sig_end/sig_count; float count = 0; for (float i=sig_step; i<sig_end; i+=sig_step) { int k = randInt(noise_,-1*noise_); //drawing signal p_sign.setX(count++); p_sign.setY(MyFunc(i)+k); path_sign.lineTo(p_sign); door_.hadlePoint(p_sign); if (door_.storePointChanged()) { path_res.lineTo(door_.getLastStoredPoint()); painter.drawPoint(door_.getLastStoredPoint()); } } p.setColor(c2); p.setWidth(0.5); painter.setPen(p); painter.drawPath(path_sign); p.setColor(c3); p.setWidth(0.5); painter.setPen(p); painter.drawPath(path_res); }
int main(void) { MyFunc(); MyFunc(); return 0; }
int main(void) { MyFunc(12); return 0; }
int main() { char buff[256] = {0}; MyFunc(); return 0; }