易截截图软件、单文件、免安装、纯绿色、仅160KB

第一个pro*C demo

该程序很简单,就是用C从ORACLE,把当前日期显示出来就OK,作为一个简单的DEMO
(一)写PRO*C
/*===========================================================================
* pro*c编译方法:
* 预编译 proc test.pc
* 编译   gcc -o test test.c $ORACLE_HOME/lib/libclntsh.so
* 作者   foxliu
* 时间   2009-10
*============================================================================*/
#include <stdio.h>
#include <sqlca.h>
int main(int argc,char **argv)
{
     /*声明SQL变量*/
     EXEC SQL BEGIN DECLARE SECTION;
  /*VARCHAR预编译后为struct { unsigned short len; unsigned char arr[20];}*/
     VARCHAR user[20],pass[20],tnsname[20];
    
  char crruentDate[15];
     EXEC SQL END DECLARE SECTION;
    
     /*声明C变量*/
     int i=0;
     
    
     strcpy(user.arr,"dbrevass");
     user.len=strlen((char *)user.arr);
     strcpy(pass.arr,"dbrevass");
     pass.len=strlen((char *)pass.arr);
     strcpy(tnsname.arr,"wapp");
     tnsname.len=strlen((char *)tnsname.arr);
     /*Connect the DB*/
     EXEC SQL CONNECT :user IDENTIFIED BY :pass USING :tnsname;
     /*printf("%d",sqlca.sqlcode);*/
  /*游标声明*/
     EXEC SQL declare emp_cursor cursor for
                                          select sysdate from dual;
            &n


相关文档:

(C/C++)值得研究的一些函数

1. memcpy函数的实现
首先对这个函数做一些说明。
#include <string.h>
void *memcpy(void *to, const void *from, size_t count)
函数memcpy()从from指向的数组向to指向的数组复制count个字符。如果两数组重叠,不定义函数的行为。
在C99中,to和from由restrict修饰。
先来看看微软的实现:
void * __cdecl m ......

C/C++ 内存管理 Heap vs Stack

 
转注:
今天有网友问到这个问题,于是在网上搜索了一下,转贴这此.
相似的太多了,出处不详.在此感谢原作者精彩讲解.
一、预备知识—程序的内存分配
一个由c/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类 ......

C中的可变参数研究

 C中的可变参数研究  
  
  一.  何谓可变参数  
  int   printf(const   char*   format,   ...);    
  这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format ......

C/C++编程技能【整理】

预处理器(Preprocessor)
1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
我在这想看到几件事情:
1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)
2). 懂得预处理器将为你计算常数表达式的值,因此,直接 ......

c里面的冒号——位域定义器

 typedef struct _RTP_header {
        /* byte 0 */
        #if (BYTE_ORDER == LITTLE_ENDIAN)
            unsigned char csrc_len:4;        /* expect 0 */
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号