AIX db2嵌入式SQL(sqc)编译

AIX db2嵌入式SQL(sqc)编译

编译SQC

使用C语言编写嵌入式SQL以访问DB2的程序,DB2预编译器可以将SQL语法直接转换为DB2行时服务应用程序编程接口(API)调用。

bind的主要作用是根据SQC中的SQL语句使用的表和操作指定访问时DB要使用的策略,是一种优化作用,以加快数据访问的速度。

aix_sqc 编译

 

预编译命令:

db2 prep *.sqc bindfile

bindfile参数作用是生成和sqc文件同名的.bnd文件。

接下来就和一般的C程序一样进行编译了,来看看这个简单的Makefile,AIX 编译64位的应用。

CHMOD =chmod 755
RM =rm -f
#export OBJECT_MODE=64
DB2_HOME=/opt/IBM/db2/V9.1
CFLAGS=  -q64 -qchars=signed -I.  -g -I$(DB2_HOME)/include
LDFLAGS = -b64 -g -L $(DB2_HOME)/lib64 -ldb2
DB2 =db2
BINHOME=$(HOME)/batch/bin

CC= xlc_r

#DB CONFIGURE
DBNAME = db2name
USEID = db2user
PASWD = db2pswd

ALL =$(BINHOME)/ApsBatchWS
all:$(ALL)
.SUFFIXES:
.SUFFIXES:.sqc .cpp .c .o
OBJS = dbcons.o serv.o util.o log.o flow.o

.sqc.o:
        $(DB2)  connect to $(DBNAME) user $(USEID) using $(PASWD)
        @$(RM)   *.bnd $*.c
        @$(DB2)  prep $< bindfile
        @$(DB2)  bind $*.bnd
        @$(DB2)  connect reset
        @$(DB2)  terminate
        @$(CC)  $(CFLAGS) -s -c  $*.c
.c.o:
        $(CC) -c $(CFLAGS)  $<
.cpp.o:
        $(CC) -c  $(CFLAGS)  $<

$(ALL) : $(OBJS)
        $(CC) $(CFLAGS)  $(OBJS) $(LDFLAGS) -o  $@
        $(CHMOD)  $@

clean:
        $(RM) *.o dbcon.c dbcons.bnd $(ALL)

看这里还有好多的例子:点击这里查看

sqc的编写方法这里就不再赘述,相关的文章已经太多了。

 

植物大战僵尸2可能引发Android mediaserver服务耗电问题

植物大战僵尸2可能引发Android mediaserver服务耗电问题

–更新注:文章所提“植物大战僵尸2”为中国宝开官方特制版,非Goolge Play的官方版本。目前(20131025 Google play 现已发布)还未测试该版本。

这是一个讨论贴,而非技术流,究竟什么是mediaserver,为何会被触发,又是如何这么耗电,这里不做详细讨论。简单了解一下什么时候这个服务会开启?

大家可以多使用google搜索,找找答案,多思考分析,一起交流分享。

简单的说,当你使用任何媒体服务都有可能需要这个mediaserver服务,如果使用某些App,听音乐,看视频,使用OTG外接设备,都有可能唤醒这个服务,更有可能某些app无故开启此服务,并使其保持运行状态,这种流氓行为才真令人深恶痛绝…

mediaserver take away battery.
mediaserver take away battery.

《植物大战僵尸2》已经发布,准确地说是中国版的植物大战僵尸,其不是通过Google play发布,而是各种奇怪的途径。笔者在Nexus 7(2g)该游戏之后,发现平板的续航大大下降,而后发现Mediaserver在后台一直运行,耗电量达到30%以上。由此推断《植物大战僵尸2》中国版是引发mediaserver后台耗电的元凶。

如果也遇到Nexus7耗电突然增多,考虑一下最近是否安装了《植物大战僵尸2》这款游戏;本文系作者个人观点,如果您认为原因不在此,欢迎指正。

Google Play 版本:Plants vs. Zombies™ 2

关于Google Nexus 7(二代) 外设的那些事

关于Google Nexus 7(二代) 外设的那些事

首先,无需Root,Nexus 7是直接可以连接鼠标和键盘的。虽然很蛋疼,但确是支持的,仅需一条OTG数据线,这点是靠谱的。
那么,U盘或者移动硬盘呢?你可以选择Root,也可以不Root。尽管Nexus 7已经有16G或者32G更大的存储空间,但是偶尔需要直接读取
移动存储中的照片,电影等文件,那么可以在未Root的Nexus 7使用 Nexus Media Importer(收费软件,也有对应免费版本),如果Root,可以选择StickMount。在Google play上搜索或者搜索OTG,这样的软件一大堆。安装之后,按照提示,使用任意文件管理器便可轻松搞定移动外设的文件管理。

nexus7

无线网卡呢,当然也可以!使用 PPP Widget ,这是一款无广告无添加的免费软件,使用条件是Root,系统低于4.3.
Andr​​oid 4.3用户:似乎有谷歌内核模块加载禁用! PPP Widget可能会停止工作!要怪就怪谷歌。

点击这里查看:Nexus Media Importer

点击这里查看:StickMount

点击这里查看:PPP Widget

稍后会在分享一下Nexus 7的好软件,有些没有经过专门优化,可能在Goolge Play无法搜索到,因此也不列出。

AirDroid | Your Android, on the Web.

Google 日曆 | Gmail|Google Maps

Evernote

Flipboard: Your News Magazine

Any.DO待办事项列表 | 任务列表

Dropbox

Nexus Media Importer

Pocket 

………

ZenMate-Chrome浏览器插件上的墙外世界

ZenMate-Chrome浏览器插件上的墙外世界

这个主题不想多说,只能说我朝太威武!

又一款××利器,但使用和安装比起goagent简单得多,甚至比VPN也方便得多!需要的仅仅是一个浏览器。

ZenMate for Google Chrome

安全浏览变得更简单:您的浏览器流量将被加密。 Wifi和黑客安全。解除地理封锁。保护您的隐私。

ZenMate For Chrome™是首屈一指的安全和隐私扩展。具有无与伦比的简单,出色的用户界面和无与伦比的用户体验令人印象深刻。ZenMate以下令人兴奋的功能:

✔100%的浏览器流量加密
✔内置的加速
✔无死角,设置使用非常容易
✔一键“安装”
✔轻量级整合
✔即时保护,隐私和安全
✔替代IP屏蔽
✔全球高速服务器

它是免费的,而且将永远是。

目前支持的浏览器:

★ Google Chrome™
★ Maxthon Cloud Browser
★ Chromium
★ SRWare Iron

如果你有兴趣,速速体验吧!

插件安装地址:点击进入

官网了解更多:https://zenmate.io

几款优秀RSS阅读器-个人推荐

几款优秀RSS阅读器-个人推荐

Google Reader究竟还是死了,但是阅读还要继续的。但好的消息是,Google Reader关闭后同类Rss阅读器市场一片繁荣。现在推荐几款个人喜欢的Rss/杂志阅读器,希望对大家有所帮助,–会更新…

rss

1.Feedly

feedly

   Feedly用户体验还不错,无论Web还是App,支持各种网页浏览器和运行iOS或Android的移动设备,也是一个基于云端的服务。其从各种在线资源聚合用户自定的新闻订阅源,并可与他人分享。使用Google帐号登录,无需注册。(存在被墙的问题)

  • 开发者: DevHD
  • 初始版本:2008年
  • 平台: Web,iOS,Android
  • 类型 :新闻聚合器
  • 网站:http://cloud.feedly.com

2.AOL Reader

AOLReader

 AOL Reader 目前还没有Android或者ios平台的APP,web页面也是beta测试版,但体验不错,方便快捷。

 

 3.Digg Reader

digg

Digg Reader也是不负期望的一个产品,可以使用Facebook,twitter以及Google帐号登录。

  • 开发者: Digg
  • 初始版本:2013年
  • 平台: Web,iOS,Android
  • 类型 :新闻聚合器
  • 网站:http://digg.com

 

4.Filpboard 

Flipboard

   Filpboard 几乎没什么可说的,移动杂志界的绝对佼佼者,针对中国大陆推出有中国本地化的APP,最近国际版的更新似乎已经无法在中国大陆区捕捉Facebook,Twitter,Google+的信息流.

  • 开发者: Filpboard
  • 初始版本:2011年
  • 平台: iOS,Android,Chrome 插件
  • 类型 :新闻杂志
  • 网站:https://flipboard.com/

5.Google Currents/Google Play Newsstand

Google Play Newsstand

 

Google Currents 和Google Play Magazines合并成为 Google Play Newsstand,已于2013年11年21日在Google play发布,看了下原来的Google Reader还保留在Currents中,现在可以直接同步订阅到Google Play Newsstand,何必呢,Google?Reader被谋杀之后,还有人会钟情于Google Play Newsstand吗?看看最近表现吧..

  • 开发者: Google
  • 初始版本:2013年(Play Newsstand)
  • 平台: Android
  • 类型 :新闻杂志
  • 网站: https://play.google.com
exFAT文件系统不可写问题修复

exFAT文件系统不可写问题修复

背景: exFAT 是为解决FAT32等不支持4G及其更大的文件而推出的一种兼备fat和NTFS文件系统特点的文件系统。
我的移动硬盘格式化为exfat原因有:

1. 支持单个大于4G文件的读写。
2.需要在Mac和Windows两种不同操作系统写使用读写,Mac是支持写入Fat32和exFat的,但不能写NTFS.

但是一段时间就出现了移动硬盘只能读,不能写(删除,修改)的问题,起初以为移动硬盘问题,搜索后解决:

在Windows 命令提示符(CMD)敲入下列命令:
chkdsk G: /f
G:为移动硬盘分区盘盘符 /f 参数为修复错误

来学习一下这个命令:

修复磁盘上的错误
CMD:Chkdsk

D:\>chkdsk /?
检查磁盘并显示状态报告。

CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]] [/B]

volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
filename 仅用于 FAT/FAT32: 指定要检查是否有碎片的文件。
/F 修复磁盘上的错误。
/V 在 FAT/FAT32 上: 显示磁盘上每个文件的完整路径和名称。
在 NTFS 上: 如果有清除消息,则显示。
/R 查找损坏的扇区并恢复可读信息
(隐含 /F)。
/L:size 仅用于 NTFS: 将日志文件大小更改为指定的 KB 数。如果未
指定大小,则显示当前
大小。
/X 如果必要,则先强制卸除卷。
该卷的所有打开句柄都会无效
(隐含 /F)。
/I 仅用于 NTFS: 对索引项进行强度较小的检查。
/C 仅用于 NTFS: 跳过文件夹结构的
循环检查。
/B 仅用于 NTFS: 重新评估该卷上的坏簇
(隐含 /R)
/I 或 /C 开关通过跳过对该卷的某些检查,可减少运行 Chkdsk 所需的时间。

阻止电脑休眠程序

阻止电脑休眠程序

这个软件,无论功能和界面看起来好傻..是吧?

多年前写的一个PC上软件,阻止电脑休眠,进入屏幕保护的方法有N+种,为什么需要这个蛋疼呢?

黑先生曾经说过:All that is real is rational; and all that is rational is real.那么这个存在也是存在蛋疼的理由的。那些年的回忆啊…

那是在一个庞大的公司,上上下下全是人,有木有?公司电脑可都是加入域,你没有管理员权限,就是说,你仅有运行已安装在上面的若干软件的权限,而没有更改任何配置的权限,当然也包括了更改屏幕保护。于是你一个转身,电脑进入屏幕保护,你不不得再输入密码…

理由也算充分了,在某些地方他并非一无是处。除了阻止电脑休眠,而且可以在下班后自动为你关闭电脑,假如你决定翘班……这就是当年的生活…

shots

 

今天,偶然翻看google drive,看到了这个小工具,居然还可以运行,多年前辛辛苦苦学习VC++,MFC,到现在代码居然看不懂…

时光是把杀猪刀……

BOOL CAnti_SleepDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon

	SetWindowText("阻止屏保开启/计算机休眠");
	long val=GetWindowLong(this->GetSafeHwnd(),GWL_STYLE);   
	val|= WS_SYSMENU; //需要系统菜单
	SetWindowLong(this->GetSafeHwnd(),GWL_STYLE,val);
	m_brush.CreateSolidBrush(RGB(0,0,255));
	//ModifyStyle(0,WS_SYSMENU,0);

	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);	
	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;	
		strAboutMenu.LoadString(IDS_ABOUTBOX);

		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_STRING, IDM_MINIWND, "隐藏到托盘");
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX,"关于.." );			
		}
		pSysMenu->RemoveMenu(0,MF_BYPOSITION);
		//pSysMenu->RemoveMenu(1,MF_BYPOSITION);
		pSysMenu->RemoveMenu(2,MF_BYPOSITION);
		pSysMenu->RemoveMenu(3,MF_BYPOSITION);
		pSysMenu->RemoveMenu(SC_SIZE,MF_BYCOMMAND);
		pSysMenu->RemoveMenu(SC_MAXIMIZE,MF_BYCOMMAND);
	}
	GetDlgItem(IDC_WORKSTATIC)->ShowWindow(FALSE);
	quitBBT.AutoLoad(IDCANCEL,this);
	quitBBT.LoadBitmaps(IDB_BITMAP3);
	shutBBT.AutoLoad(ID_TIMESHUTDOWN,this);
	shutBBT.LoadBitmaps(IDB_SHUTDOWNBMP);
	hideBBT.AutoLoad(ID_TOTRAY,this);
	hideBBT.LoadBitmaps(IDB_BITMAP2);
	return TRUE;  // return TRUE  unless you set the focus to a control
}

祭奠一下…放在了Github上..但愿还有用武之地……
Git:  https://github.com/iocoo/Anti_Sleep.git