Esempio n. 1
0
// ============================================================================
// >> 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;
}
Esempio n. 2
0
int main()
{
	int n = 5;
	printf("C Entered: %d\n", n);
	int m = MyFunc(n);
	printf("C Got: %d\n", m);
	return 0;
}
Esempio n. 3
0
// ============================================================================
// >> stdcall test
// ============================================================================
int __stdcall MyFunc(int x)
{
	g_iMyFuncCallCount++;
	assert(x >= 0 && x <= 3);
	if (x == 3)
		return x;

	return MyFunc(x + 1);
}
Esempio n. 4
0
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);
}
Esempio n. 5
0
int main(void) {
  MyFunc();
  MyFunc();
  return 0;
}
Esempio n. 6
0
int main(void)
{
  MyFunc(12);

  return 0;
}
int main()
{
	char buff[256] = {0};
	MyFunc();
	return 0;
}