Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • makefile资料和automake教程

    post by onelong / 2011-11-28 16:08 Monday [C语言学习]

    这两天都是在了解makefile,看了一写文章,感觉挺好的,分享一下!!

    跟我一起写 Makefile

    http://www.chinaunix.net/jh/23/408225.html

    阅读全文>>

  • makefile的预定义变量

    post by onelong / 2011-11-28 14:58 Monday [C语言学习]

     在百度找来了一些资料:

            $*

      不包含扩展名的目标文件名称。

    阅读全文>>

  • makefile 指定编译库

    post by onelong / 2011-11-27 22:02 Sunday [C语言学习]

    在网上看到 gcc - o main -L. -lmylib main.c;原来的是很简单的一句话,结果呢,编译时找不到库,无意发现 gcc - o main main.c  -L. -lmylib可以通过编译,原来那个位置不能随便放的。

    阅读全文>>

  • 动态库和静态库

    post by onelong / 2011-11-27 21:33 Sunday [C语言学习]

    昨天看了一天博文,终于对动态库和静态库有所理解啦,静态可以编译时会加入目标程序的。而动态库呢?运行时加载的!至于具体怎样操作呢?看下面你可以很详细的了解动态库和静态库。

    阅读全文>>

  • c语言操作sqlite3的入门教程

    post by onelong / 2010-7-9 20:13 Friday [数据库]

    linux下c函数库放在/usr/include里面,先去看看那里有没有sqlite3的函数库,如果有既不用装了,没有的就按装一下吧!ubuntu下安装软件是那么的简单,不多说了!
    测试一下先:sqlite.c的源码如下.....
    #include <stdlib.h>
    #include <stdio.h>
    #include "sqlite3.h"

    int main(void)
    {
        sqlite3 *db=NULL;
        char *zErrMsg =0;       
        int rc;
        rc=sqlite3_open("test1.db",&db);
        if(rc)
        {
            fprintf(stderr,"Can't open database: %s\n",sqlite3_errmsg(db));
            sqlite3_close(db);
            exit(1);
        }
        else
            {
                printf("open mydata successfully!\n");
                rc = sqlite3_exec(db, "CREATE TABLE chn_to_eng(chinese QString, english QString)", 0, 0, &zErrMsg);
                char *sql="INSERT INTO [chn_to_eng] ([chinese], [english]) VALUES ('ddd','fgg')";
                rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);
            }
        sqlite3_close(db);
        return 0;
    }
    编译使用的命令:gcc sqlite.c -o sqlite -L/full/path/to/directory/with/libsqlite3/ -lsqlite3
            或gcc sqlite.c -o sqlite -lsqlite3
    运行:./sqlite
    这个时候你查看当前目录,会发现多了一个文件test1.db
    编译时要注意的问题 如果只是用:gcc sqlite.c -o sqlite
    会提示错误
    /tmp/ccqqKvmp.o: In function `main':
    sqlite.c:(.text+0x2e): undefined reference to `sqlite3_open'
    sqlite.c:(.text+0x42): undefined reference to `sqlite3_errmsg'
    sqlite.c:(.text+0x67): undefined reference to `sqlite3_close'
    sqlite.c:(.text+0xa9): undefined reference to `sqlite3_exec'
    sqlite.c:(.text+0xdc): undefined reference to `sqlite3_exec'
    sqlite.c:(.text+0xea): undefined reference to `sqlite3_close'
    collect2: ld returned 1 exit status
     

  • ubuntu c语言学习

    post by onelong / 2009-11-24 18:45 Tuesday [C++]

    1、配置GCC

    刚装好的GCC什么都不能编译,因为没有一些必须的头文件,所以要安装build-essential,安装了这个包会安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等好多必须的软件和头文件。

    阅读全文>>