![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
现实、太残忍
这个作者很懒,什么都没留下…
展开
-
手动编译openjdk8 c++源码
一、准备资源openjdk源码下载地址:https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-src-b04-14_jan_2020.zip操作环境:使用ubuntu14.04.6,下载地址:https://releases.ubuntu.com/14.04/ubuntu-14.04.6-server-amd64.iso二、开始编译1、必装依赖:apt install make zip gcc g++ libX11-dev l原创 2021-10-26 17:39:23 · 788 阅读 · 0 评论 -
java jni使用
1、创建java maven项目创建一个JniDemo类package com.sumengnan;public class JniDemo { static { //第一种方式:直接写全路径名+文件名 System.load("/Users/sumengnan/CLionProjects/jniSharedLib/libjniSharedLib.dylib"); //第二种方式:只写去掉前缀和后缀的文件名去掉libxxx.dy.原创 2022-05-28 20:10:25 · 1302 阅读 · 0 评论 -
c使用curl进行http访问
一、引入libcurl库1、第一种方式brew install curl命令2、第二种方式下载ssl,地址:https://www.openssl.org/source/openssl-3.0.2.tar.gz下载curl,地址: https://curl.se/download/curl-7.82.0.tar.gz并使用cmake ,指定ssl地址并 make编译(同c连接redis笔记,拿到libcurl.a和curl.h文件)cmake ../ -DOPENSSL_ROO原创 2022-03-24 12:54:20 · 1766 阅读 · 0 评论 -
c操作json数据
1、json库下载GitHub - DaveGamble/cJSON: Ultralightweight JSON parser in ANSI Ccmake .编译、 make编译,保留cJSON.h和libcjson.a文件项目CMakeLists.txt引入:include_directories("/Users/sumengnan/CLionProjects/testc/include")link_directories("/Users/sumengnan/CLionProj原创 2022-03-24 12:49:32 · 466 阅读 · 0 评论 -
c连接mysql数据库
cmake文件引入mysql头文件和静态链接库cmake_minimum_required(VERSION 3.21)project(testc C)set(CMAKE_C_STANDARD 99)#添加头文件目录 (相当于gcc中-l参数,也相当于环境变量中增加路径到cplus_include_path变量的作用)#语法:include_directories("/opt/……/extern/include") (相当于export CPLUS_INCLUDE_PATH=CPLUS_I原创 2022-03-24 12:45:30 · 2068 阅读 · 0 评论 -
c连接redis
1、需要使用hiredis库下载地址:GitHub - redis/hiredis: Minimalistic C client for Redis >= 1.2下载后需要执行cmake .和make命令编译,得到libhiredis.a和libhiredis.dylib2、复制文件到项目或添加到主机/usr/local/include和lib目录下,再执行一个命令刷新一下头文件生效需复制文件alloc.h、hiredis.h、read.h、sds.h及libhiredis.a原创 2022-03-24 12:42:16 · 2435 阅读 · 0 评论 -
c tcp网络编程
#include <stdio.h>#include <string.h>#include <pthread.h>#include <unistd.h>#include <sys/socket.h>#include <arpa/inet.h>void *server(){ //1、创建socket printf("server创建socket\n"); int serverSockfd = soc.原创 2022-03-24 12:37:48 · 3249 阅读 · 2 评论 -
c多线程信号量
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <pthread.h>#include <unistd.h>#include <semaphore.h>sem_t *sem;void *testThread(){ printf("Hello, World!New Thread1开始准备\n"); if(sem_wait(se.原创 2022-03-24 12:35:54 · 391 阅读 · 0 评论 -
c多线程互斥锁
#include <pthread.h>#include <unistd.h>pthread_mutex_t pthreadMutex;void *testThread(){ printf("线程1开始加锁\n"); pthread_mutex_lock(&pthreadMutex); printf("线程1加锁成功\n"); sleep(10); printf("Hello, World!New Thread11\n"); .原创 2022-03-24 12:34:10 · 1351 阅读 · 0 评论 -
c多线程编程
#include <pthread.h>void *testThread(){ printf("Hello, World!New Thread11\n");}void *testThread2(){ printf("Hello, World!New Thread22\n");}int main() { printf("Hello, World!\n"); pthread_t pthread_t,pthread_t2; pthread_crea..原创 2022-03-24 12:32:26 · 147 阅读 · 0 评论 -
c加载动态链接库
一、动态链接库项目1、创建头文件library.h文件#ifndef TESTC_LIB_LIBRARY_H#define TESTC_LIB_LIBRARY_Hvoid hello(void);void hello2(void);#endif //TESTC_LIB_LIBRARY_H2、创建c文件library.c#include "library.h"#include <stdio.h>void hello(void) { printf("H原创 2022-03-24 12:29:27 · 2443 阅读 · 0 评论 -
c引入静态链接库
一、静态链接库项目1、创建头文件library.h文件#ifndef TESTC_LIB_LIBRARY_H#define TESTC_LIB_LIBRARY_Hvoid hello(void);void hello2(void);#endif //TESTC_LIB_LIBRARY_H2、创建c文件library.c#include "library.h"#include <stdio.h>void hello(void) { printf("H原创 2022-03-24 11:48:58 · 2135 阅读 · 0 评论