我用Dll封装一段程序,在这个程序代码中调用了一个已封装好的Dll库,我写了一段应用程序,现在问题来了,程序本身没错,但是在调用Dll中那个被封装好的库时,出现  Privileged Instruction 的提示,请问各位怎么解决?

解决方案 »

  1.   

    很多指令不允许直接使用了,如outp,这种违反特权得程序,在老OS还支持,新OS不允许
    所以你要根据你做什么找替代方法,没有通用解决之道
      

  2.   

    test_port(void)
    {
    // search for valid parallel port
    unsigned short lpt_address = 0;
    if( InitializeWinIo() )
    {
    _outp(LPT1, 0x55);//#define LPT1 0x3bc
    if(_inp(LPT1) == 0x55) 
    lpt_address = LPT1;
    ShutdownWinIo();
    }

    if( InitializeWinIo() )
    {
    _outp(LPT2, 0x55);
    if(_inp(LPT2) == 0x55) 
    lpt_address = LPT2;//#define LPT2 0x378
    ShutdownWinIo();
    }

    if(InitializeWinIo() )
    {
    _outp(LPT3, 0x55);
    if(_inp(LPT3) == 0x55)
    lpt_address = LPT3;
    ShutdownWinIo();
    }
    return(lpt_address);
    }我觉得就在这出错