1. write a simple c file waFunc.c
#include<stdio.h>
main()
{
func1();
printf("this is a test\n");
return;
}
void func1()
{
printf("this is func1\n");
}
void func2()
{
printf("this is func2\n");
}
void func3()
{
printf("this is fun3 \n");
}
2. compile this file as file that can be executed
gcc -o waFunc waFunc.c
execute ./waFunc
this is func1
this is a test
3. compile this file as .o file
gcc -c -O waFunc.c
4. write another c file waUtil.c
#include<stdio.h>
void doTest()
{
printf("do test\n");
}
void getName()
{
printf("get name\n");
}
void testConnection()
{
printf("tset connection\n");
}
5. gcc -c -O waUtil.c
6. create a library
ar -qrv libwa_sock.a waUtil.o
7. add waFunc.o to libwa_sock.a
ar -rv libwa_sock.a waUtil.o
8. nm libwa_sock.a
9. write a new c file
#include<stdio.h>
void getMotherName()
{
getName();
printf("get Mother name\n");
}
main()
{
getMotherName();
return;
}
10. compile : gcc -c -O waAPI.c
11. compile dynamic library
gcc -shared -o libwaAPI.so waAPI.o -L./ -lwa_sock
分享到:
相关推荐
LINUX下JAVA程序与C语言程序通过SOCKET通信的简单例子.pdf
linux下C语言编程makefile简单例子学习.docx
在Linux系统中,C语言是实现底层操作和系统编程的常用工具,特别是在处理多进程通信时。本示例将深入探讨如何...通过这些示例,你可以更深入地理解Linux C环境下的多进程创建、管理和使用共享内存进行通信的基本方法。
在Linux环境下进行C语言编程,需要掌握一些基本概念和工具,包括源程序的编译、Makefile的编写、程序库的链接以及程序的调试。本文将详细介绍这些内容。 首先,让我们从源程序的编译开始。在Linux中,C语言程序的...
Linux环境下的JSON解析库——jsonc,是一种轻量级、纯C语言编写的JSON解析器。JSON(JavaScript Object Notation)是一种数据交换格式,广泛应用于Web服务与客户端之间的通信,而jsonc则为Linux系统提供了处理JSON...
根据提供的信息,我们可以总结出以下关于《Linux下的C语言编程》的相关知识点: ### 一、简介 本书由David Haskins编写,详细介绍了在Linux环境下进行C语言编程的基础与高级技巧。作者通过丰富的实例和深入浅出的...
### Linux操作系统下C语言编程入门:经典总结 在IT领域,尤其是软件开发中,Linux操作系统与C语言结合,成为了一种极为重要的技能组合。本文旨在深入解析Linux环境下C语言编程的关键知识点,涵盖从基础概念到高级...
学习这个例子,你将掌握如何在Linux下编写简单的驱动程序,了解驱动与用户空间的交互方式,以及如何测试驱动的正确性。这对于深入理解Linux内核和设备驱动原理非常有帮助。在实际操作中,还可以尝试扩展驱动功能,如...
### Linux下C语言实现文件拷贝 #### 一、引言 在计算机编程领域,特别是在系统级编程中,文件操作是非常基础且重要的功能之一。在Linux环境下,利用C语言进行文件操作具有高度的灵活性和效率。本文将详细介绍如何在...
本教程“Linux下基础C语言视频教程”旨在帮助初学者快速掌握在Linux平台下编写、编译和执行C程序的基本步骤。 首先,我们需要了解C语言的基本语法,包括变量声明、数据类型(如int、float、char等)、运算符、流程...
下面我们将详细探讨这两种协议在Linux下的编程实践。 首先,TCP编程涉及到建立连接、数据传输和连接释放等步骤。在Linux中,我们可以使用socket API来创建和操作TCP套接字。这个API包括`socket()`函数用于创建套接...
一个简单的`Makefile`通常包含以下部分: - **变量定义**:用于存储路径、编译器选项等信息,如`CC = gcc`定义了C编译器。 - **目标(Targets)**:表示要构建的文件,如`main`程序。 - **依赖项(Dependencies)**...
本文将深入讲解如何在Linux环境下用C语言来读取文件信息。 首先,我们需要包含必要的头文件,如`<stdio.h>`(用于标准输入/输出)和`<sys/stat.h>`(提供文件状态结构体`struct stat`和`stat()`函数)。以下是一个...
在本资源中,包含了Linux C语言和Windows C#平台下的服务器和客户端程序,覆盖了TCP协议的实现。接下来,我们将深入探讨这些知识点。 1. **Socket接口**: Socket是操作系统提供的一个接口,它允许应用程序通过...
通过这个简单的例子,我们可以了解到如何在Linux下使用C语言进行多线程编程的基本步骤。然而,实际的多线程应用往往涉及到更复杂的数据共享、线程同步和通信机制,如信号量、条件变量等。理解和熟练掌握这些概念对于...
在本压缩包文件“linux互斥量源码例子”中,我们可以看到一些示例代码,这些代码展示了如何在C语言环境下使用POSIX互斥锁来实现线程间的同步。 互斥量的基本概念是基于锁的机制,当一个线程获得互斥锁后,其他试图...
LINUX 下简单的编译和使用动态链接库 在 LINUX 下,编译和使用动态链接库是一项非常重要的技术。动态链接库,即 Shared Object(.so 文件),是将一些常用的代码,例如函数、类等,编译成一个独立的文件,供其他...
这个"Linux C网络编程中最简单的例子"应该包含了一个简单的客户端(client.c)和服务器端(server.c)的源代码。下面我们将详细探讨这些关键知识点。 1. **套接字(Socket)**: 套接字是网络编程中的基本概念,它...
这个"linux-java调用c语言编译的so动态库-jni例子-简单计算器"是一个典型的示例,展示了如何利用JNI来创建一个Java应用程序,该程序能够调用C编写的动态链接库(.so文件)进行计算操作。 JNI是Java平台的一部分,它...