关于aes128 c代码转java,代码如下,最好有详细解释

#include
#include
#include
#include
#include "aes.h"

/*!

  • CMAC/AES Message Integrity Code (MIC) Block B0 size */ #define LORAMAC_MIC_BLOCK_B0_SIZE 16

/*!

  • MIC field computation initial data */ static uint8_t MicBlockB0[] = { 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

/*!

  • Contains the computed MIC field. *
  • \remark Only the 4 first bytes are used */ static uint8_t Mic[16];

/*!

  • Encryption aBlock and sBlock */ static uint8_t aBlock[] = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static uint8_t sBlock[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

static aes_context AesContext;

#define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }

/*!

  • AES encryption/decryption cipher application session key */ #define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }

void LoRaMacPayloadEncrypt( const uint8_t *buffer, uint16_t size, const uint8_t *key, uint32_t address, uint8_t dir, uint32_t sequenceCounter, uint8_t *encBuffer )
{
uint16_t i;
uint8_t bufferIndex = 0;
uint16_t ctr = 1;

memset1( AesContext.ksch, '\0', 240 );
aes_set_key( key, 16, &AesContext );

aBlock[5] = dir;

aBlock[6] = ( address ) & 0xFF;
aBlock[7] = ( address >> 8 ) & 0xFF;
aBlock[8] = ( address >> 16 ) & 0xFF;
aBlock[9] = ( address >> 24 ) & 0xFF;

aBlock[10] = ( sequenceCounter ) & 0xFF;
aBlock[11] = ( sequenceCounter >> 8 ) & 0xFF;
aBlock[12] = ( sequenceCounter >> 16 ) & 0xFF;
aBlock[13] = ( sequenceCounter >> 24 ) & 0xFF;

while( size >= 16 )
{
    aBlock[15] = ( ( ctr ) & 0xFF );
    ctr++;
    aes_encrypt( aBlock, sBlock, &AesContext );
    for( i = 0; i < 16; i++ )
    {
        encBuffer[bufferIndex + i] = buffer[bufferIndex + i] ^ sBlock[i];
    }
    size -= 16;
    bufferIndex += 16;
}

if( size > 0 )
{
    aBlock[15] = ( ( ctr ) & 0xFF );
    aes_encrypt( aBlock, sBlock, &AesContext );
    for( i = 0; i < size; i++ )
    {
        encBuffer[bufferIndex + i] = buffer[bufferIndex + i] ^ sBlock[i];
    }
}

}

void LoRaMacPayloadDecrypt( const uint8_t *buffer, uint16_t size, const uint8_t *key, uint32_t address, uint8_t dir, uint32_t sequenceCounter, uint8_t *decBuffer )
{
LoRaMacPayloadEncrypt( buffer, size, key, address, dir, sequenceCounter, decBuffer );
}

uint8_t netkey[16] = LORAWAN_NWKSKEY;
uint8_t appkey[16] = LORAWAN_APPSKEY;
uint8_t buff1[255] = { 0 } ;
unsigned char realkey[16] = { 0 };
unsigned char realkey1[16] = { 0 };

void main(int argc,char *argv[] )
{
if (argc <= 2 ){
printf("I need three parameters.\n1st.Sequence number (frame count)\n2nd.Node mac address in hex format"
"\n13rd.Payload data, string of hex characters with a space in the last. Space in the last is must.\n4th.Payload data size, string in ASCII.\n5th. appkey string of hex\n");
exit(0);
}
uint16_t i ;
char * hello;
char * pEnd;

int sequence= atoi(argv[1]);
uint32_t nodeAddress= (uint32_t) strtol(argv[2], &hello, 16);
uint8_t finalData[248];
char *data=argv[3];
int count=0;
char temp[5];
int realCount=0;
int frame_count= (int) strlen(data);

for (int j = 0; j < frame_count; ++j) {
    if(data[j]!=' '){
        temp[count++]=data[j];
    }else {
        finalData[realCount++] = (uint8_t) strtol(temp, &pEnd, 16);
        count=0;
    }
}


int c2i( char ch )
{
        if(isdigit(ch))
            return ch-48;
        if(ch<'A'||(ch>'F'&&ch<'a')||ch>'z')
            return-1;
        if(isalpha(ch))
            return isupper(ch)?ch-55:ch-87;
        return -1;
}

int hex2dec( unsigned char *hex )
{
    int len;
    int num=0;
    int temp;
    int bits;
    int i;
    len=strlen(hex);
    for(i=0,temp=0;i<len;i++,temp=0)
    {
        temp=c2i(*(hex+i));
        bits=(len-i-1)*4;
        temp=temp<<bits;
        num=num|temp;
    }
    return num;
}


char *temKey = argv[5];
unsigned char mkey[3]={0};

for( char i = 0; i < strlen(temKey); i++ ){
    if( i % 2 == 0 ){
        mkey[0] = temKey[i];
    }else{
        mkey[1] = temKey[i];
        mkey[2] = '\0';
        realkey[i/2] = hex2dec( mkey );
        memset( mkey, 0 , sizeof mkey);
    }
}

for( char i = 0; i < sizeof realkey; i++ ){
    realkey1[i]=realkey[i];
}


//0x0063dfa9
LoRaMacPayloadDecrypt( finalData, atoi(argv[4]), realkey1, nodeAddress , 0, sequence, buff1);
for(  i = 0; i < atoi(argv[4]); i++ )
{
    printf("%x ", buff1[i] );
}
printf("\n");

}

3个回答

谁能把LoRaMacPayloadEncrypt这个方法,变成java代码也行。。。

代码不全,aes.h里面的代码呢。
如果照着写,无非就是指针换成数组,类型修改下,比如uint8换成byte,uint16换成short
还有一些函数,memset换成循环给数组填0,atoi atol,字符串转换为数字

zsy20171218
zsy20171218 就是函数不知道换什么,aes.h就是一些实体。
一年多之前 回复

其实C跟JAVA很像,就是用对象,然后类方法就是函数啊,就可以了

zsy20171218
zsy20171218 是很像。但是里面一些真看不懂。比如aes_context、memset1( AesContext.ksch, '\0', 240 ); aes_set_key( key, 16, &AesContext );等找不到对应的写法
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
文件加密,最好有代码
-
求详细解释,最好有简单程序代码
我想了解面对对象,面向过程,基于对象,是怎么区分,如果不从类的角度来看,我是这样理解,面对对象就是一种结构化的编程,由若干块组成整体,但是在c语言中,不是也有子函数吗?不也可以把它看做部分,作用是否相当于类的作用?我的理解是,区别在于子函数没有main函数,而类可单独成为一个函数,不知道这样理解是否正确,请大家帮我解决下疑问,补充一下,手机不能结帖,之前的帖,晚上回去电脑结!
解释下如下代码的意思。。。
00000272: 6C INS BYTE PTR ES:[EDI],DXrn00000273: 6C INS BYTE PTR ES:[EDI],DXrn00000274: 6F OUTS DX,DWORD PTR ES:[EDI]rnrnins,outs指令是什么东西哦。。。rn还有下面的语句,红色部分rn0000026F 004865 add [bx+si+0x65],clrn[color=#FF0000]00000272 6C insbrn00000273 6C insbrn00000274 6F outsw[/color]rn00000275 2C20 sub al,0x20rn00000277 776F ja 0x2e8rn00000279 726C jc 0x2e7rn0000027B 640D0A24 fs or ax,0x240arn0000027F 00B80700 add [bx+si+0x7],bhrn00000283 8ED8 mov ds,axrn00000285 B409 mov ah,0x9rn00000287 BA0000 mov dx,0x0rn0000028A CD21 int 0x21rn0000028C B44C mov ah,0x4crn0000028E CD21 int 0x21rn00000272 6C insb rn00000273 6C insbrn00000274 6F outswrn00000275 2C20 sub al,0x20rn00000277 776F ja 0x2e8rn00000279 726C jc 0x2e7rn0000027B 640D0A24 fs or ax,0x240arn0000027F 00B80700 add [bx+si+0x7],bhrn00000283 8ED8 mov ds,axrn00000285 B409 mov ah,0x9rn00000287 BA0000 mov dx,0x0rn0000028A CD21 int 0x21rn0000028C B44C mov ah,0x4crn0000028E CD21 int 0x21
谁能解释下如下代码
#define BCM_DLIST_ENTRY(_dtype)\rnbcm_##_dtype##_stat_init,rnstatic int (*_stat_init_dispatch[])(rn int unit) =rnrn#include rn0rn;rnrn_stat_init_dispatch 是函数指针吗?
socket通信,c/s,长连接,最好有代码
一个服务器,多个客户端,时时连接的,谁有例子,最好是健壮点的
最详细NMS代码解释--python--pytorch
#NMS #image_pred_ 是一个图片上所有bbox组成的二维varibale #(all_bboxs_num, 4+1+1+1) 4:左上右下坐标,1:检测置信度,1:最大分类概率,1:最大分类概率的类别序号--代表哪一个类 #对每一个类进行NMS for cls in img_classes: #1得到该类的所有检测框,剔除非该类的检测框 不为该类的bbox设为0 为该类的...
C代码转java
伪代码如下:rn[code=C/C++]rnchar *p="磲钺珏驙";rnunsigned char *x;rn int i=0;rnrn while(p+i != '\0')rn rn i++;rn x = (unsigned char*)p;rn (*x) &= 0x3F;rn rnrn[/code]用意是把加密的字符串解密,如何转成java代码。其实不解的就是Java中如何获得字符串的地址。
小车代码 详细解释
自己试验过的小车代码 ,自己稍稍改一些 就可以用的
微信公众平台代码详细解释
这个是在微信官方demo代码上面的一些修改,可以运行的,里面有详细的介绍和解释。
求详细解释代码
[code=c]double mypower(double base, int exp)rnrn double power = 1;rn if (exp < 0)rn power = 1/mypower(base, -exp);//递归调用函数 rn else if (exp > 0)rn while(exp-- > 0)//循环次数为exp rn power *= base;//循环阶乘 rn else if(base != 0)rn power = 1;rn elsern power = 1/base;//0的0次幂应是一个无意义数rn return power;rn[/code]rn这段代码中的if else语句到底是怎么执行的,求详细的解释。
【TEXT-CNN】详细解释 与 代码
1.简介 TextCNN 是利用卷积神经网络对文本进行分类的算法,由 Yoon Kim 在 “Convolutional Neural Networks for Sentence Classification” 一文 (见参考[1]) 中提出. 是2014年的算法. 图1-1 参考[1] 中的论文配图 合理性:  深度学习模型在计算机视觉与语音识别方面取得了卓越的成就. 在 NLP 也是...
解释代码详细一点
m_richtext.SetWindowPos(&wndTop,0,0,rect.right-rect.left,rn rect.bottom-rect.top ,SWP_SHOWWINDOW);rn取自技术内幕
求代码详细解释!!
[code=c]#include rnint is_even(int x)rnrn return !(x % 2);rnrnint main(void)rnrn int i = 20;rn if(is_even(i))rn printf("Even number\n");rn elsern printf("Odd number\n");rnrn[/code]rnrn求以上小段代码的函数返回值的解释。
ADO.NET详细代码解释
ADO.NET详细代码解释 ADO.NET详细代码解释 ADO.NET详细代码解释 ADO.NET详细代码解释
请教关于SyncLock的用法(最好有代码)
class cachern private shared sub add(byval x as object)rn synclock gettype(cache)rn end synclockrn end subrnrn private shared sub remove(byval x as object)rn synclock gettype(cache)rn end synclockrn end subrnend classrnrn从书中所看到的,但具体怎样使用及其意义不太明白,望高手们指点,谢谢
求思路,最好有代码了
我想做一个通过VB对MYSQL进行数据库备份,该怎么做?rn谢谢!
【转】蓝屏代码 解释
0x0000000A:IRQL_NOT_LESS_OR_EQUAL rn◆错误分析:主要是由问题的驱动程序、有缺陷或不兼容的硬件与软件造成的. 从技术角度讲. 表明在内核模式中存在以太高的进程内部请求级别(IRQL)访问其没有权限访问的内存地址. rn◇解决方案:请用后面介绍的解决方案中的2、3、5、8、9方案尝试排除. rn0x00000012:TRAP_CAUSE_UNKNOWN rn◆错误分析:如果遇到这个错误信息, 那么很不幸, 应为KeBudCheck分析的结果是错误原因未知. rn◇解决方案:既然微软都帮不上忙, 就得靠自己了, 请仔细回想这个错误是什么时候出现的; 第一次发生时你对系统做了哪些操作; 发生时正在进行什么操作. 从这些信息中找出可能的原因, 从而选择相应解决方案尝试排除. rn0x0000001A:MEMORY_MANAGEMENT rn◆错误分析:这个内存管理错误往往是由硬件引起的, 比如: 新安装的硬件、内存本身有问题等. rn◇解决方案:如果是在安装Windows时出现, 有可能是由于你的电脑达不到安装Windows的最小内存和磁盘要求. rn0x0000001E:KMODE_EXCEPTION_NOT_HANDLED rn◆错误分析:Windows内核检查到一个非法或者未知的进程指令, 这个停机码一般是由问题的内存或是与前面0x0000000A相似的原因造成的. rn◇解决方案: rn(1)硬件兼容有问题:请对照前面提到的最新硬件兼容性列表, 查看所有硬件是否包含在该列表中. rn(2)有问题的设备驱动、系统服务或内存冲突和中断冲突: 如果在蓝屏信息中出现了驱动程序的名字, 请试着在安装模式或者故障恢复控制台中禁用或删除驱动程序, 并禁用所有刚安装的驱动和软件. 如果错误出现在系统启动过程中, 请进入安全模式, 将蓝屏信息中所标明的文件重命名或者删除. rn(3)如果错误信息中明确指出Win32K.sys: 很有可能是第三方远程控制软件造成的, 需要从故障恢复控制台中将对该软件的服务关闭. rn(4)在安装Windows后第一次重启时出现:最大嫌疑可能时系统分区的磁盘空间不足或BIOS兼容有问题. rn(5)如果是在关闭某个软件时出现的:很有可能时软件本省存在设计缺陷, 请升级或卸载它 rn0x00000023:FAT_FILE_SYSTEM rn0x00000024:NTFS_FILE_SYSTEM rn◆错误分析:0x00000023通常发生在读写FAT16或者FAT32文件系统的系统分区时, 而0x00000024则是由于NTFS.sys文件出现错误(这个驱动文件的作用是容许系统读写使用NTFS文件系统的磁盘). 这两个蓝屏错误很有可能是磁盘本身存在物理损坏, 或是中断要求封包(IRP)损坏而导致的. 其他原因还包括:硬盘磁盘碎片过多; 文件读写操作过于频繁, 并且数据量非常达或者是由于一些磁盘镜像软件或杀毒软件引起的. rn◇解决方案: rn第一步:首先打开命令行提示符, 运行\\"Chkdsk /r\\"(注:不是CHKDISK, 感觉象这个, 但是……)命令检查并修复硬盘错误, 如果报告存在怀道(Bad Track), 请使用硬盘厂商提供的检查工具进行检查和修复. rn第二步:接着禁用所有即使扫描文件的软件, 比如:杀毒软件、防火墙或备份工具. rn第三步:右击C:\\winnt\\system32\\drivers\\fastfat.sys文件并选择\\"属性\\", 查看其版本是否与当前系统所使用的Windows版本相符.(注:如果是XP, 应该是C:\\windows\\system32\\drivers\\fastfat.sys) rn第四步:安装最新的主板驱动程序, 特别IDE驱动. 如果你的光驱、可移动存储器也提供有驱动程序, 最好将它们升级至最新版. rn0x00000027:RDR_FILE_SYSTEM rn◆错误分析:这个错误产生的原因很难判断, 不过Windows内存管理出了问题很可能会导致这个停机码的出现. rn◇解决方案:如果是内存管理的缘故, 通常增加内存会解决问题. rn0x0000002E:DATA_BUS_ERROR rn◆错误分析:系统内存存储器奇偶校验产生错误, 通常是因为有缺陷的内存(包括物理内存、二级缓存或者显卡显存)时设备驱动程序访问不存在的内存地址等原因引起的. 另外, 硬盘被病毒或者其他问题所损伤, 以出现这个停机码. rn◇解决方案: rn(1)检查病毒 rn(2)使用\\"chkdsk /r\\"命令检查所有磁盘分区. rn(3)用Memtest86等内存测试软件检查内存. rn(4)检查硬件是否正确安装, 比如:是否牢固、金手指是否有污渍. rn0x00000035:NO_MORE_IRP_STACK_LOCATIONS rn◆错误分析:从字面上理解, 应该时驱动程序或某些软件出现堆栈问题. 其实这个故障的真正原因应该时驱动程序本省存在问题, 或是内存有质量问题. rn◇解决方案:请使用前面介绍的常规解决方案中与驱动程序和内存相关的方案进行排除. rn0x0000003F:NO_MORE_SYSTEM_PTES rn◆错误分析:一个与系统内存管理相关的错误, 比如:由于执行了大量的输入/输出操作, 造成内存管理出现问题: 有缺陷的驱动程序不正确地使用内存资源; 某个应用程序(比如:备份软件)被分配了大量的内核内存等. rn◇解决方案:卸载所有最新安装的软件(特别是哪些增强磁盘性能的应用程序和杀毒软件)和驱动程序. rn0x00000044:MULTIPLE_IRP_COMPLIETE_REQUESTS rn◆错误分析:通常是由硬件驱动程序引起的. rn◇解决方案:卸载最近安装的驱动程序. 这个故障很少出现, 目前已经知道的是, 在使用[url=http://www.in-system.com/][color=#2f5fa1]http://www.in-system.com/[/color][/url]这家公司的某些软件时会出现, 其中的罪魁就是Falstaff.sys文件.(作者难道不怕吃官司嘛, 把公司网址公布) rn0x00000050:PAGE_FAULT_IN_NONPAGED+AREA rn◆错误分析:有问题的内存(包括屋里内存、二级缓存、显存)、不兼容的软件(主要是远程控制和杀毒软件)、损坏的NTFS卷以及有问题的硬件(比如:PCI插卡本身已损坏)等都会引发这个错误. rn◇解决方案:请使用前面介绍的常规解决方案中与内存、软件、硬件、硬盘等相关的方案进行排除. rn0x00000051:REGISTRY_ERROR rn◆错误分析:这个停机码说明注册表或系统配置管理器出现错误, 由于硬盘本身有物理损坏或文件系统存在问题, 从而造成在读取注册文件时出现输入/输出错误. rn◇解决方案:使用\\"chkdsk /r\\"检查并修复磁盘错误. rn0x00000058:FTDISK_INTERNAL_ERROR rn◆错误分析:说明在容错集的主驱动发生错误. rn◇解决方案:首先尝试重启电脑看是否能解决问题, 如果不行, 则尝试\\"最后一次正确配置\\"进行解决. rn0x0000005E:CRITICAL_SERVICE_FAILED rn◆错误分析:某个非常重要的系统服务启动识别造成的. rn◇解决方案:如果是在安装了某个新硬件后出新的, 可以先移除该硬件, 并通过网上列表检查它是否与Windows 2K/XP兼容, 接着启动电脑, 如果蓝屏还是出现, 请使用\\"最后一次正确配置\\"来启动Windows, 如果这样还是失败, 建议进行修复安装或是重装. rn0x0000006F:SESSION3_INITIALIZATION-FAILED rn◆错误分析:这个错误通常出现在Windows启动时, 一般是由有问题的驱动程序或损坏的系统文件引起的. rn◇解决方案:建议使用Windows安装光盘对系统进行修复安装. rn0x00000076:PROCESS_HAS_LOCKED_PAGES rn◆错误分析:通常是因为某个驱动程序在完成了一次输入/输出操作后, 没有正确释放所占有的内存 rn◇解决方案: rn第一步:点击开始-->运行:regedt32, 找到[HKLM\\SYSTEM\\Currentcontrol set\\control\\session manager\\memory management], 在右侧新建双字节值\\"TrackLockedPages\\", 值为1. 这样Windows便会在错误再次出现时跟踪到是哪个驱动程序的问题. rn第二步:如果再次出现蓝屏, 那么错误信息会变成: rnSTOP:0x0000000CB(0xY,0xY,0xY,0xY)DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS rn其中第四个\\"0xY\\"会显示为问题驱动程序的名字, 接着对其进行更新或删除. rn第三步:进入注册表, 删除添加的\\"TrackLockedPages\\". rn0x00000077:KERNEL_STACK_INPAGE_ERROR rn◆错误分析:说明需要使用的内核数据没有在虚拟内存或物理内存中找到. 这个错误常常于是着磁盘有问题, 相应数据损坏或受到病毒侵蚀. rn◇解决方案:使用杀毒软件扫描系统; 使用\\"chkdsk /r\\"命令检查并修复磁盘错误, 如不行则使用磁盘厂商提供的工具检查修复. rn0x0000007A:KERNEL_DATA_INPAGE_ERROR rn◆错误分析:这个错误往往是虚拟内存中的内核数据无法读入内存造成的. 原因可能是虚拟内存页面文件中存在坏簇、病毒、磁盘控制器出错、内存有问题. rn◇解决方案:首先用升级为最新病毒库杀毒软件查杀病毒, 如果促无信息中还有0xC000009C或0xC000016A代码, 那么表示是坏簇造成的, 并且系统的磁盘检测工具无法自动修复, 这时要进入\\"故障恢复控制台\\", 用\\"chkdsk /r\\"命令进行手动修复. rn0x0000007B:INACESSIBLE_BOOT_DEVICE rn◆错误分析:Windows在启动过程中无法访问系统分区或启动卷. 一般发生在更换主板后第一次启动时, 主要是因为新主板和旧主板的IDE控制器使用了不同芯片组造成的. 有时也可能是病毒或硬盘损伤所引起的. rn◇解决方案:一般只要用安装光盘启动电脑, 然后执行修复安装即可解决问题. 对于病毒则可使用DOS版的杀毒软件进行查杀(主战有kv2005DOS版下载). 如果是硬盘本身存在问题, 请将其安装到其他电脑中, 然后使用\\"chkdsk /r\\"来检查并修复磁盘错误. rn0x0000007E:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED rn◆错误分析:系统进程产生错误, 但Windows错误处理器无法捕获. 其产生原因很多, 包括:硬件兼容性、有问题的驱动程序或系统服务、或者是某些软件. rn◇解决方案:请使用\\"事件查看器\\"来获取更多的信息, 从中发现错误根源.(发现好像不是解决哦, 看来这里大家要自力更生了!) rn0x0000007F:UNEXPECTED_KERNEL_MOED_TRAP rn◆错误分析:一般是由于有问题的硬件(比如:内存)或某些软件引起的. 有时超频也会产生这个错误. rn◇解决方案:用检测软件(比如:Memtest86)检查内存, 如果进行了超频, 请取消超频. 将PCI硬件插卡从主板插槽拔下来, 或更换插槽. 另外, 有些主板(比如:nForce2主板)在进行超频后, 南桥芯片过热也会导致蓝屏, 此时为该芯片单独增加散热片往往可以有效解决问题. rn0x00000080:NMI_HARDWARE_FAILURE rn◆错误分析:通常是有硬件引起的.(似乎蓝屏与硬件错误有不解之缘) rn◇解决方案:如果最近安装了新硬件, 请将其移除, 然后试试更换插槽和安装最新的驱动程序, 如果升级了驱动程序, 请恢复后原来的版本; 检查内存金手指是否有污染和损坏; 扫描病毒; 运行\\"chkdsk /r\\"检查并修复磁盘错误; 检查所有硬件插卡已经插牢. 如果以上尝试都无效果, 就得找专业的电脑维修公司请求帮助了.rnamwdnuff 发表于 2009-3-8 14:46rnrn0x0000008E:KERNEL_MODE_EXCEPTION_NOT_HANDLED rn◆错误分析:内核级应用程序产生了错误, 但Windows错误处理器没有捕获. 通常是硬件兼容性错误. rn◇解决方案:升级驱动程序或升级BIOS. rn0x0000009C:MACHINE_CHECK_EXCEPTION rn◆错误分析:通常是硬件引起的. 一般是因为超频或是硬件存在问题(内存、CPU、总线、电源). rn◇解决方案:如果进行了超频, 请降会CPU原来频率, 检查硬件. rn0x0000009F:DRIVER_POWER_STATE_FAILURE rn◆错误分析:往往与电源有关系, 常常发生在与电源相关的操作, 比如:关机、待机或休睡. rn◇解决方案:重装系统, 如果不能解决, 请更换电源. rnrn┌—┐ rn│26│ rn└—┘0x000000A5:ACPI_BIOS_ERROR rn◆错误分析:通常是因为主板BIOS不能全面支持ACPI规范. rn◇解决方案:如果没有相应BIOS升级, 那么可在安装Windows 2K/XP时, 当出现\\"press F6 if you need to install a third-party SCSI or RAID driver\\"提示时, 按下F7键, 这样Windows便会自动禁止安装ACPI HAL, 而安装 Standard PC HAL. rnrn┌—┐ rn│27│ rn└—┘0x000000B4:VIDEO_DRIVER_INIT_FAILURE rn◆错误分析:这个停止信息表示Windows因为不能启动显卡驱动, 从而无法进入图形界面. 通常是显卡的问题, 或者是存在与显卡的硬件冲突(比如:与并行或串行端口冲突). rn◇解决方案:进入安全模式查看问题是否解决, 如果可以, 请升级最新的显卡驱动程序, 如果还不行, 则很可能是显卡与并行端口存在冲突, 需要在安全模式按下WIN+break组合键打开\\"系统属性\\", 在硬件-->设备管理器中找到并双击连接打印的LPT1端口的项, 在\\"资源\\"选项卡中取消\\"使用自动配置\\"的构选, 然后将\\"输入/输出范围\\"的\\"03BC\\"改为\\"0378\\". rnrn┌—┐ rn│28│ rn└—┘0x000000BE:ATTEMPTED_WRITE_TO_READONLY_MEMORY rn◆错误分析:某个驱动程序试图向只读内存写入数据造成的. 通常是在安装了新的驱动程序, 系统服务或升级了设备的固件程序后. rn◇解决方案:如果在错误信息中包含有驱动程序或者服务文件名称, 请根据这个信息将新安装的驱动程序或软件卸载或禁用. rnrn┌—┐ rn│29│ rn└—┘0x000000C2:BAD_POOL_CALLER rn◆错误分析:一个内核层的进程或驱动程序错误地试图进入内存操作. 通常是驱动程序或存在BUG的软件造成的. rn◇解决方案:请参考前面介绍的常规解决方案相关项目进行排除. rnrn┌—┐ rn│30│ rn└—┘0x000000CE:DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS rn◆错误分析:通常是由有问题的驱动程序或系统服务造成的. rn◇解决方案:请参考前面介绍的常规解决方案相关项目进行排除. rnrn┌—┐ rn│31│ rn└—┘0x000000D1:DRIVER_IRQL_NOT_LESS_OR_EQUAL rn◆错误分析:通常是由有问题的驱动程序引起的(比如罗技鼠标的Logitech MouseWare 9.10和9.24版驱动程序会引发这个故障). 同时,有缺陷的内存、 损坏的虚拟内存文件、 某些软件(比如多媒体软件、杀毒软件、备份软件、DVD播放软件)等也会导致这个错误. rn◇解决方案:检查最新安装或升级的驱动程序(如果蓝屏中出现\\"acpi.sys\\"等类似文件名, 可以非常肯定时驱动程序问题)和软件; 测试内存是否存在问题; 进入\\"故障恢复控制台\\", 转到虚拟内存页面文件Pagefile.sys所在?rn
求解释函数,代码如下
[code=delphi]rnfunction GetHexString(arr:array of Byte):string;rnvar i:Integer;rnbeginrn Result:='';rn for i := Low(arr) to High(arr) dorn beginrn Result:=Result+IntToHex(arr[i],2);rn end;rnend;rn[/code]rn请解释每一句代码是干嘛的?rn这个函数的目的是什么?rn有没有正确返回string类型的返回值?
谁能解释如下的代码啊
terrylee中,ListBox项水平放置代码如下,代码是对的,效果也是对的.rnrn rn rn rn rn rn rn rn rn rn rnrnrn但我不清楚为什么不是这样的形式:rnrn rn rn rn rn rn rn rn rn rn rnrnrn另
请帮忙解释如下代码。
java.lang.Object waitForCall = new java.lang.Object();rnsynchronized(waitForCall)rnrn waitForCall.wait();rnrnrnsynchronized(waitForCall)有何意义?
谁帮解释下如下代码
[code=C#]protected void repFirmList_ItemDataBound(object source, RepeaterItemEventArgs e)rn rn if((e.Item.ItemType == ListItemType.Item )|| (e.Item.ItemType==ListItemType.AlternatingItem))rn rn Label lb = (Label)e.Item.FindControl("Label15");rn lb.Text = "0";rn foreach (DataRow dr in NoReplyCount.Rows)rn rn if (dr["TradeInfoId"].ToString() == DataBinder.Eval(e.Item.DataItem, "Id").ToString())rn rn lb.Text = dr["count"].ToString();rn break;rn rn rn rn [/code]
如下一段代码求解释。。。。
typedef struct tagCRDCARTESIANrndouble x;rndouble y;rndouble z;rnCRDCARTESIAN;rntypedef CRDCARTESIAN *PCRDCARTESIAN;rnrn这是在.h文件中的声明,不太清楚意思。
求c#中,PDF转换word的程序,最好有详细代码
最近需要做一个项目,需要把文档在页面读出来,然后格式不能乱。ppt直接转html是图片形式,格式会乱,现在已经完成word转html,格式不会乱。我现在可以用程序把ppt转换成pdf,所以求c#中,PDF转换word的程序,最好有详细代码。
解释一段C代码
#includern#include rnrnvoid main()rnrn int length = 2;rn int *p = (int*)malloc(sizeof(int)*length);rnrn for(int i=-10; i<2; i++)rn rn //p[i] = i+10;rn printf("%d\n",p[i]);rn rnrnrn
svm_java版本代码详细解释
详细的代码解释,一看就懂,希望有帮助
windows蓝屏代码详细解释
windows蓝屏代码详细解释~~~~ 欢迎使用~~~~~~~~~~
求一段代码的详细解释
void CServerMgr::FreeInstance()rnrn if( m_pInstance )rn rn delete m_pInstance;rn m_pInstance = NULL;rn rnrn谢谢了
一段代码求详细解释
下面 //// 内的代码没看懂,求详细解释!rn byte[] btMsg, btBuf;rn byte[] btSend;rn char[] chBuf;rn int iBt;rn DateTime dtNow = DateTime.Now;rn btMsg = new byte[] 0, 0, 0, 0, 0, 0, 0, 0 ;rnrn //////////////////没看懂的内容///////////////////////rn btBuf = Encoding.ASCII.GetBytes(dtNow.Second.ToString("X2"));rn chBuf = Encoding.ASCII.GetChars(btBuf);rn iBt = Convert.ToInt16(chBuf[0]);rn iBt <<= 4; // 为什么要这么做?rn iBt += Convert.ToInt16(chBuf[1]);rn btMsg[0] = (byte)iBt; // 还有这个,大于255的数转成 byte 有什么作用?rn /////////////////////////////////////////
帮忙详细解释一段代码
public JsonBean getCollectors() throws Exception rn List collectors = new ArrayList();rn Map collectorMap = applicationContext.getBeansOfType(Collector.class);rn for (Iterator iterator = collectorMap.keySet().iterator(); iterator.hasNext();) rn String beanName = (String) iterator.next();rn Collector collector = (Collector) collectorMap.get(beanName);rn String collectorName = collector.getName();rn collectors.add(new String[] beanName, collectorName );rn rn帮忙详细解释以上这段代码的意思,越详细越好,像map那行和for语句条件都看不懂什么意思?
C++ 习题代码(详细解释)
常见的C++基础练习题, 各个题目都包含代码及注释。 是初学者能够轻松弄懂各个知识点。
茶文化网页代码(详细解释)
&amp;amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;amp;gt; &amp;amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&am
求大神详细解释下代码
最近在学JS,可是总感觉似懂非懂,自己又解释不清楚这些代码到底是干嘛的。求大神逐行解释代码~~rn这是第一个知识点代码~rn[code=javascript]<%@ page language="java" contentType="text/html; charset=UTF-8"rn pageEncoding="UTF-8"%>rnrnrnrn rn Insert title herernrn rnrn 全选 rn 商品1 rn 商品2 rn 商品3 rn 商品4 rn 商品5 rn rn rnrn[/code]rn这是第二个知识点代码rn[code=javascript]<%@ page language="java" contentType="text/html; charset=UTF-8"rn pageEncoding="UTF-8"%>rnrnrnrn rn Insert title herernrn rnrnrn rn rnrn[/code]
菜鸟求代码详细解释
各位高手好!rn别人的一段代码看不明白,rn跪求详细解释!rn int str,sym,tmp,val;rn int symbol_count;rnrn // open filern FILE *from;rn char line[MAX_LINE];rn from = fopen(filename,"r");rnrn symbol_count=0;rnrn[color=#FF0000] for (num_strings=0; fscanf(from,"%[^\n]\n",line)!=EOF; num_strings++) rn for (sym=0,tmp=99; tmp>1; sym++) rn tmp=sscanf(line,"%d %[0-9 ]",&val,line);rn rn if (symbol_count < sym)rn symbol_count=sym;rn [/color]rn cout << "\nmax sequence length = " << symbol_count << "\n";rn cout << "number of strings = " << num_strings << "\n";rn rewind(from);rnrn strings = new int* [num_strings];rn string_len = new int [num_strings];rn for (int i=0; i
谁来详细解释下这段代码?
// align ptr to nearest DWORDrnWORD* AlignDWORD(WORD* ptr) rnrn ptr++; // round up to nearest DWORDrn LPARAM lp = (LPARAM)ptr; // convert to longrn lp &= 0xFFFFFFFC; // make sure on DWORD boundaryrn return (WORD*)lp;rn
谁来详细解释这句代码?
谁来详细解释这句代码:double hourAngle = Math.toRadians(90 - 360 * minutes / (12 * 60));rn这是怎么转换的?
LLE降维代码详细解释
LLE 作者源代码,逐语句翻译以及解释
详细解释inputrc中的代码
cat /etc/inputrcrn其中一段:rn# for linux console and RH/Debian xtermrn"\e[1~": beginning-of-linern"\e[4~": end-of-linern"\e[5~": beginning-of-historyrn"\e[6~": end-of-historyrn"\e[3~": delete-charrn"\e[2~": quoted-insertrn"\e[5C": forward-wordrn"\e[5D": backward-wordrn"\e[1;5C": forward-wordrn"\e[1;5D": backward-word
请详细解释下这段代码
void __fastcall TCommFrm::BitBtn2Click(TObject *Sender)rn rnchar Buffer[5];rnint nbytes;rnYbCommDevice1->Active=true; //对这句相当迷惑Active什么作用,这句又什么作用rnfor(nbytes=0;nbytes<5;nbytes++) //对这个for语句也不很理解,它一直执行到下面吗?rn Buffer[nbytes]='C';rnYbCommDevice1->Write(Buffer,nbytes); //这句也不理解rnTable1->Active=False;rnTable1->TableName="tempdata.db";rnTable1->EmptyTable(); rnTimer1->Enabled=true;rnBitBtn2->Enabled=false; rnpfile = fopen("tempdata.txt","r+b");rnrn希望每句都解释下,新手,请朋友们多多指导
请问这句代码的详细解释?
#define KEY_DOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)rnrn#define KEY_UP(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)rnrn这是什么意思?请问这句代码的详细解释?
电影推荐系统代码详细解释
先说句不太好听的: 电影推荐这种东西,除非是在电商或者大公司类的等相关的公司工作,或者学习研究需要,否则这种代码就不要看了,浪费时间。 道理很简单,一般小公司就那么可怜巴巴的一小堆客户,手指头数的过来的产品种类,推荐个啥?公司用不到,也就没必要学。 各种书籍中,凡是涉及推荐系统,除非你目标的公司是做这种岗位的,否则请直接跳过。 注:代码不是我写的,我只是尽可能多的做了注释,所以这...
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview