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语言学习]

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

    阅读全文>>

  • apache2 ssl ubuntu11.04

    post by onelong / 2011-10-11 5:19 Tuesday [linux]

     

    安装openssl,apache2!!

    1.首先,确保apache2 的ssl模块已经加载:

    阅读全文>>

  • ubuntu10.04 调试 jni

    post by onelong / 2010-8-29 22:30 Sunday [java]

    java代码如下:
    //HelloWorld.java
    public class HelloWorld{
      public native void displayHelloWorld();
       static {
          System.loadLibrary("hello&quo...

    阅读全文>>

  • 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下让php支持sqlite

    post by onelong / 2010-7-9 18:41 Friday [php]

    先phpinfo看看php5的版本和具体的sqlite支持版本;
    apt安装
    sudo apt-get install php5-sqlite
    重启apache
    查看phpinfo,应该可以看到相关的sqlite信息
    完毕.
     

  • ubuntu下安装Sqlite及入门应用

    post by onelong / 2010-7-9 18:06 Friday [数据库]

    在ubuntu下安装Sqlite是十分简单的
    安装数据库系统Sqlite:
        sudo apt-get install sqlite
    安装数据库系统Sqlite3:
        sudo apt-get install sqlite3
    检查数据库安装结果:
        sqlite -version
    这时你会看到sqlite的版本
    同样
        sqlite3 -version
    查到sqlite3的版本
    下面测试一下先;新建数据库或打开test.db;在终端使用如下命令
        sqlite3 test.db
    查看数据库信息
        .database
    查看表
        .tables
    退出sqlite
        .exit或.quit
    默认情况下,test.db文件会在你主目录下的,你看看!
    至于其他的sql语句和平时mysql的没有什么区别 create insert select等我就不多说了
    下面是我的一个演示:
    hl@onelong:~$ sqlite3 test.db
    SQLite version 3.6.22
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite> create table hl(one varchar(10),two smallint);

    sqlite> insert into hl values('hello', 10);
    sqlite> insert into hl values('me', 20);
    sqlite> select * from hl;
    hello|10
    me|20
    sqlite> .database
    seq  name             file                                                     
    ---  ---------------  ----------------------------------------------------------
    0    main             /home/hl/test.db                                         
    sqlite> .tables
    hl
    sqlite>

     

  • 如何在Linux环境学习Qt4呢?

    post by onelong / 2010-7-8 23:50 Thursday [C++]

    我使用的Linux系统是ubuntu 9.10

    阅读全文>>

  • ubuntu 10.04下如何删除jdk1.6呢?

    post by onelong / 2010-7-5 20:57 Monday [java]

    ubuntu 10.04已经去掉 sun-java6-jdk 和 sun-java6-jre的软件包,ubuntu 官方声明:建议安装 openjdk-6 以取代 sun-java6-jre ,但如果你不能转换到openjdk-6下,仍可以继续使用 sun-java6-jre。据说 openjdk和 sun-jdk还是有很多差别的。
    所以在ubuntu10.04安装jdk6有两种选择,那么怎样删除jdk6呢?由于android不支持jdk1.6进行源码编译的,故jdk6是一个碍事的东东,卸载他
    apt-get remove sun-java6-jdk sun-java6-jre sun-java6-bin
    执行完毕,查看java -version
    结果还是jdk1.6呀,郁闷,没办法之下只能新立得软件包管理器删除关于openjdk的包和Java6的相应包了
    执行完毕,删除成功了!
    接着安装jdk1.5,好了不说,

    安装jdk1.5方法可以参考http://www.ways2u.com/?post=163

  • error: ‘string’ has not been declared的解决方法

    post by onelong / 2010-7-5 7:17 Monday [C++]

    今天我在ubuntu10.04编写了一个C++的小程序,有三个文件Test.cpp,Person.h,Person.cpp !在终端编译是提示
    Person.h:7: error: expected `)' before ‘name’
    Person.h:8: error: ‘string’ has not been declared
    Person.h:9: error: ‘string’ does not name a type
    Person.h:11: error: ‘string’ does not name a type
    怎么回事呢?打开Person.h查看源码如下
    #ifndef Person_H
    #define Person_H
    #include <string>
    class Person{
    public:
        Person(string name);
        void setName(string name);
        string getName();
    private:
        string _name;
    };
    #endif
    原来是using namespace std;没有写呀!在各个文件逐一加入using namespace std;

    阅读全文>>