摘要:
1.在调用之前,可以用工具(Dependency)检测下c++库所依赖的文件,看是否有错误。如果有错误,请先下补充所需运行环境。2.如果c++ 函数 形参需要C#传入结构体,可如下:1 [StructLayout(LayoutKind.Sequential)]//作用:按顺序排列,防止C#编译器打乱... 阅读全文
摘要:
前些天一直在看指针这块,遇到了一个问题,一直没有看透.后面通过各种打印地址或值输入,最终弄懂,为防止忘记,特在此记录下,同时也给需要的朋友一点指点,如果有不对的地方,还请朋友们指出,并相互交流下,谢谢.问题:输入的两个整数按大小顺序输出。用函数处理,而且用指针类型的数据作函数参数。解题:指针值传递s... 阅读全文
摘要:
题:即输入的两个整数按大小顺序输出。今用函数处理,而且用指针类型的数据作函数参数。swap(int *p1,int *p2){ int temp; temp=*p1; *p1=*p2; *p2=temp;}main(){ int a,b; int *pointer... 阅读全文
摘要:
定义:C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。带参宏定义的一般形式为: #define 宏名(形参表) 字符串在字符串中含有各个形参。带参宏调用的一般形式为: 宏名(实参表);特别注意事项:如... 阅读全文
摘要:
printf函数称为格式输出函数格式:printf(const char *_Format,...)printf(“格式控制字符串”, 输出表列)其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据... 阅读全文
摘要:
1.a.while(1){条件;}毋庸置疑,1永远为真,如果条件没有跳出语句,将是我首选的死循环的方案;b.do{}while(1)效果同上,依然是个不错的死循环;2.for(;;;){条件;}没有开始条件,没有结束条件,如果条件中没有跳出语句,同样将是一个不错的死循环;3.gotoLable:go... 阅读全文
摘要:
一。volatile定义:一个定义为volatile的变量是说这变量可能会被意想不到的被改变,这样,有了volatile变量后,就提醒编译器就不会去假设这个变量的值了。精确地说就是,编译中的优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。eg:1.硬件设备... 阅读全文
摘要:
语法格式:mov {条件} 1目的寄存器,2源操作数作用:MOV指令可完成从另一个寄存器、被移位的寄存器或立即数赋值到目的寄存器。其中S选项为指令的操作结果是否操作CPSR中的条件标志位,当没有S选项时指令不更新CPSR中eg:MOV R0,R1 ;把 R0 = R1;MOV PC,R14 ;把PC... 阅读全文
摘要:
ldr 指令格式:(读取概念)ldr{条件} 1目的寄存器,2存储器地址eg:ldr r0,[r1]; 把r1中数据值读取到r0中;ldr r0,[r1,r2];把r1+r2的数值 读取到r0中;ldr r0,[r1,#1024]把 r1+1024的数值读取到r0中;LDR R0,[R1,R2]!;... 阅读全文
摘要:
str 指令格式:str{条件} 1源寄存器 ,2存储器地址eg:str r0,[r1],#8;将r0中的数值赋值给r1,然后在r1地址上+立即数8,再写入r1中;str r0,[r1,#8];将r0中的数值赋值给r1+8地址上的寄存器中;str r1,[r0]; 将r1中的数值赋值给r0; 阅读全文