当前位置: 首页 > C语言
  • GDB 多线程调试基本命令

    GDB 多线程调试基本命令 ———————————————- info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。 thread ID 切换当前调试的线程为指 ...

    阅读全文
    作者:极限手指 | 分类:C语言, Linux | 阅读:157 次
  • C语言之网络编程(SOCKET)

    网络编程之SOCKET Socket在所有网络操作系统和网络应用程序中都是必不可少的,它是网络通信中应用进程和网络协议之间的接口。在Linux操作系统中,socket属于文件系统的一部分,网络通信可以看作是对文件的读取。这就使得用户对网络的控制像对文件的控制一样方便。 要了解socket就必须要了解一些基本的概念,如:套接口 ...

    阅读全文
    作者:极限手指 | 分类:C语言 | 阅读:131 次
  • 在 Ubuntu 下配置 C/C++ 开发环境

    虽然 Ubuntu 的版本已经是9.04了,但不想去升级,折腾不起,对于我来说,稳定才是最重要的,所以还是老老实实的呆在8.04上。 今天配置了 Ubuntu 下的 C/C++ 开发环境。 1、配置GCC 其实刚装好的系统中已经有GCC了,但是这个GCC什么文件都不能编译,因为没有一些必须的头文件,所以要安装build-essential 这个软件包,安 ...

    阅读全文
    作者:极限手指 | 分类:C++, C语言 | 阅读:155 次
  • 如何使用gcc编译器?

    GCC rules 你能想象使用封闭源代码的私有编译器编译自由软件吗?你怎么知道编译器在你的 可执行文件中加入了什么?可能会加入各种后门和木马。Ken Thompson是一个著名 的黑客,他编写了一个编译器,当编译器编译自己时,就在’login’程序中留下后门 和永久的木马。请到 这里 阅读他对 这个杰作的描述。幸运 ...

    阅读全文
    作者:极限手指 | 分类:C语言 | 阅读:201 次
  • #include中的双引号和尖括号

    假设file1.c中有如下定义: #include “file2.h” #include “file2.h” 二者的区别是:双引号时,系统先在引用被包含文件的源文件(file1.c)所在的文件目录中寻找要包含的文件,若找不到,再按系统指定的标准方式检索其他目录。尖括号时,不检查原文件(file1.c)所在的文件目录,而直接按系统标 ...

    阅读全文
    作者:极限手指 | 分类:C语言 | 阅读:161 次
  • .h头文件 .lib动态链接库文件 .dll 动态链接库

      .h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的。 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件。如果要完成源代码的编译和链接,有头文件和lib就够了。如果也使动态连接的程序运行起来,有dll就够了。在开发和调试阶段,当然最好都有。 .h .lib .dll三者的关系是: H文件作 ...

    阅读全文
    作者:极限手指 | 分类:C++, C语言 | 阅读:173 次
  • extern 用法,全局变量与头文件(重复定义)

    用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include<xxx.h> (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许多年了,今天上网狠狠查了一下总算小有所获了: 头文件 ...

    阅读全文
    作者:极限手指 | 分类:C++, C语言 | 阅读:209 次
  • C/C++数据对齐

    为了避免混淆,做如下规定,以下代码若不加特殊说明都运行于32位平台,结构体的默认对齐值是8,各数据类型所占字节数分别为 char占一个字节 int占四个字节 double占八个字节。 两个例子 请问下面的结构体大小是多少? struct Test { char c ; int i ; }; 这个呢? struct Test1 { int i ; double d ; char c ; }; ...

    阅读全文
    作者:极限手指 | 分类:C++, C语言 | 阅读:197 次
  • 将类成员函数用做C回调函数

    将类成员函数用做C回调函数 提出问题:  回调函数是基于C编程的Windows SDK的技术,不是针对C++的,程序员可以将一个C函数直接作为回调函数,但是如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。 分析原因:  普 通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传 ...

    阅读全文
    作者:极限手指 | 分类:C语言 | 阅读:174 次
  • Linux下的C编程实战

      Linux下的C编程实战(一) ――开发平台搭建 1.引言        Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性。而近年来, Linux操作系统在嵌入式系统领域的延伸也可谓是如日中天,许多版本的嵌入式Linux系统被开发出来,如ucLinux、RTLinux、ARM-Li ...

    阅读全文
    作者:极限手指 | 分类:C语言 | 阅读:165 次