- 博客(17)
- 资源 (7)
- 收藏
- 关注
原创 test
int y = 0;void test(int *ret_result, int *_t) { int t = *(_t); { *ret_result = t; return ; };}void getValue() { int test_146_0 = 3; int test_146; test(&test_146, &(test_146_0)); int test_156_0 = 2; in
2014-08-25 15:20:48
429
原创 关于arm-linux-gcc 规定 char 为 unsigned char 问题 的解决办法
vc编译器、x86上的gcc 都把char 定义为signed char;而arm-linux-gcc 却把char 定义为unsigned char 所以造成了 同样的代码在PC 和 ARM 设备上执行的结果不一样。解决这个问题的办法很简单。使用 -fsigned-char 参数 这样 char 就是 signed char 了
2013-05-23 16:40:22
3516
1
原创 树莓派(ARM处理器), 符号位扩展的问题
最近在树莓派上做开发, 遇到了一个奇怪的问题for example:char a = 0x8f;printf("%d", a);我们希望得到 -113, 但是在树莓派上面得到的却是 143这是怎么回事? 怎么不按照符号位进行扩展?后来我查了下资料如下:ANSI C 提供了3种字符类型,分别是char、signed char、unsigned char
2013-05-21 08:46:22
1864
原创 gcc 修改 Eflags 寄存器
int main(){__asm__("lahf");__asm__("or $0x10, %ah"); //设置AF标志__asm__("sahf“);return 0;}
2013-02-26 22:32:22
642
原创 两个64位整数相乘 取高64位的值
#define CL_LONG_MIN ((long long) -0x7FFFFFFFFFFFFFFFLL - 1LL)#define CL_LONG_MAX ((long long) 0x7FFFFFFFFFFFFFFFLL)#define CL_ULONG_MAX ((ulong) 0xFFFFFFFFFFFFFFFFULL)void multiply_unsigne
2012-11-20 23:52:19
1527
原创 float 数据转换成 二进制
也没有写博客的习惯,最近工作比较忙,今天周五,终于有点时间,写点心得, 今天上午碰到一个问题 实现opencl 的内建函数:bitselect, 需要对float类型的bit位进行处理。以下是通过联合体吧 float 转换成二进制的形势:union trans{float f;char c[4];};union trans test;test
2012-11-16 23:39:53
1964
翻译 用C语言实现 函数重载
#include #include #include void va_overload2(int p1, int p2){ printf("va_overload2 %d %d\n", p1, p2);}void va_overload3(int p1, int p2, int p3){ printf("va_overload3 %d %d %d\n", p1, p2, p3
2012-09-01 10:35:52
3285
转载 C++中extern “C”含义深层探索
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不
2012-01-20 21:56:15
455
转载 fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。 ifstream -- 从已有的文件读 ofstream -- 向文件写内容 fstream - 打开文件供读写
fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。ifstream -- 从已有的文件读ofstream -- 向文件写内容fstream - 打开文件供读写文件打开模式:ios::in 读ios::out 写ios::app 从文件末尾开始写i
2012-01-19 11:08:14
3366
转载 SQLite3性能优化
SQLite3性能调整主要通过pragma指令来实现。比如调整:空间释放、磁盘同步、Cache大小等。一.空间释放1.如何查询:PRAGMA auto_vacuum;含义:查询数据库的auto-vacuum标记。2.标记含义:auto-vacuum标记的含义:正常情况下,当提交一个从数据库中删除数据的事务时,数据库文件不改变大小。未使用的文件页被标记并在以后的添加操
2012-01-19 11:06:05
1860
转载 C#与SQLite的操作介绍
、通过Add References引用SQLite ADO .NET安装目录的bin目录下的System.Data.SQLite.DLL。2、创建数据库文件:因为始终是个0字节文件,应该利用IO也可以(?!)。System.Data.SQLite.SQLiteConnection.CreateFile(datasource);3、连接数据库System.Data.SQL
2012-01-19 11:04:52
680
转载 SQLite的事务和锁
事务事务定义了一组SQL命令的边界,这组命令或者作为一个整体被全部执行,或者都不执行。事务的典型实例是转帐。事务的范围 事务由3个命令控制:BEGIN、COMMIT和ROLLBACK。BEGIN开始一个事务,之后的所有操作都可以取消。COMMIT使BEGIN后的所有命令得到确认;而ROLLBACK还原BEGIN之后的所有操作。如: sqlite> BEGIN;
2012-01-19 11:03:42
728
转载 Delphi中WebBrowser自动填表模板
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,MSHTML, SHDOCVW,IdGlobal;type TMainFrm = class(TForm) btnTes
2012-01-19 11:02:50
550
转载 “#ifdef __cplusplus extern "C" { #endif”的定义
“#ifdef __cplusplus extern "C" { #endif”的定义看一些程序的时候老是有“#ifdef __cplusplusextern "C" {#endif”的定义,搞搞清楚是怎么回事:Microsoft-Specific Predefined Macros__cplusplus Defined for C++ programs
2012-01-18 17:08:58
329
转载 VC6 配置 opengl
VC6.0中OpenGL开发环境配置 OpenGL官方网站(英文) http://www.opengl.org 设置编程的一些环境,及其安装必备文件的步骤如下: 第一步:选择一个编译环境 现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。
2012-01-11 15:19:52
885
原创 VC++6.0 下配置 directshow
<br /><br />今天尝试了好久,终于在VC6.0下配置成功了 directshow。<br />跟大家分享一下:<br /> <br />使用 DirectShow SDK 作开发的环境变量配置,<br />一、下载DirectX 9.0 SDK 地址http://www.directshow.cn/forum/viewthread.php?tid=491&extra=page%3D1,安装到目录[SDK]<br />二、编译 StrmBasd.lib/StrmBase.lib,打开SDK/Sam
2011-04-10 20:36:00
3101
原创 #ifdef,#else,#if,#endif (转载)
<br />预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作。说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译。这样做的好处是,经过处理后的代码,将会变的很精短。<br />关于预处理命令中的文件包含(#include),宏定义(#define),书上已经有了详细的说明,在这里就不详述了。这里主要是对条件编译(#ifdef,#else,#endif,#if等)进行说明。以下分3种情况:<br />1:情况1:<br />#ifdef _XXXX<br />...
2010-09-07 16:15:00
3479
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人