自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注

  • 博客(403)
  • 资源 (21)
  • 收藏
  • 关注

原创 VSCode配置编译MSVC程序高级示例

VSCode配置编译MSVC程序示例本文讲解了如何把一个VisualStudio C++(VC)项目转为VSCode(VSC)项目,并使用MSVC编译。MSVC编译一个程序分为编译(cl.exe)和链接(link.exe)的过程。有时候还需要生成静态库或动态库(lib.exe)。如果我们使用VC,这些过程是在背后运作的,如果使用VSC,则不得不了解这些命令行背后运作的机理。本文的示例代码 fi...

2020-02-28 16:48:50 1261

原创 VSCode使用mingw编译C/C++程序

VSCode使用mingw编译C/C++程序通常我们使用MSVC(cl.exe)编译C/C++源代码程序,运行在Windows上,此外我们还可以使用mingw提供的GCC+GDB编译C/C++源代码,生成原生的Win32程序,运行在Windows平台上。本文参考下面的文档实践:在Windows x64平台上,用VSCode开发C/C++程序,用GCC编译器编译成Win32的exe,运行在Wind...

2020-02-27 15:00:54 2173

原创 VSCode编译调试Java代码

VSCode编译调试Java代码本文参考了Writing Java with Visual Studio Code系列文章。操作下来很简单。系统是 Windows7 x64,目录:C:\DEVPACK (名字凭心情,不要带空格,只用简单英文)。留足300GB空间。安装系统软件安装 JDK1.8如果采用 jdk-8u162-windows-x64.exe 安装,可以安装完,得到jdk1....

2020-02-26 15:39:04 3655

原创 VSCode配置编译MSVC程序

VSCode配置编译MSVC程序本文来自于以下链接的实践:Configure VS Code for Microsoft C++前言自从盘古开天辟地以来,乱世纷争,群雄并起。在编程IDE领域,各路豪杰争霸,互不相让。直是乱花渐欲迷人眼,何处是归途?所谓天下大势,分久必合。微软乃上顺天意,下聚人心,兼相爱,交相利。于是,VSCode横空出世,利刃出鞘,魑魅魍魉,片甲不留。一时间,各路豪杰避之...

2020-02-25 17:19:46 1362

原创 一个无锁多线程安全的ring buffer实现

一个无锁多线程安全的ring buffer实现跨平台,无锁,多线程读写安全,测试通过。ringbuf.h/*********************************************************************** * Copyright (c) 2008-2080 pepstack.com, 350137278@qq.com * * ALL ...

2019-12-27 18:49:09 2279

原创 libevent 结合 pthread-win32 在windows 平台上的使用

libevent 结合 pthread-win32 在windows 平台上的使用libevent 在windows 平台上的使用,大致过程是:1)WSAStartup2)evthread_use_windows_threads3)event_base_new4)WSACleanup其中,1)WSAStartup一定要调用,否则3)调用不成功。如果windows的程序使用了...

2019-11-26 11:43:14 714

原创 一个leveldb C api的包装

一个leveldb C api的包装在 C 中调用 leveldb,把繁琐隐藏起来。提供了一个高级的 API 接口。如下的调用方式: LeveldbCtx dbctx; if (LeveldbCtxCreate("C:\\Temp\\test.cachedb", LDBCTX_ACCESSMODE_ALL, LDBCTX_OFLAG_CREATE_IF_MISSING, -...

2019-11-14 19:05:23 615

原创 一个跨平台的线程读写锁

一个跨平台的线程读写锁不废话,直接上代码:/*********************************************************************** * Copyright (c) 2008-2080 350137278@qq.com * * ALL RIGHTS RESERVED. * * Redistribution and us...

2019-11-14 18:49:20 572

原创 C实现的跨平台的线程池

C实现的跨平台的线程池绝对原创!线程池(threadpool)是这样的一种设施,初始化创建指定数目的线程,然后动态添加任务(task)到线程池的任务队列中(queue),线程池自动挑选一个线程工作者(worker)去执行这个任务(执行任务的函数在添加任务时由用户指定)。我花了半天时间,把以前的跨平台的线程池(threadpool.c)改造了一下,支持:1)Windows+vs201...

2019-11-12 16:00:00 628

原创 leveldb在Windows和Linux上编译

leveldb在Windows和Linux上编译LevelDB是Google传奇工程师Jeff Dean和Sanjay Ghemawat开源的KV存储引擎(而非SQL),它是一种非关系型数据库。leveldb只有一层,即objects,也即key-value。相当于一个库就是一堆key-value,而由于它的一个库是对应一个文件目录,所以它其实也没有库的概念。而最令人喜爱的是,它不需要依...

2019-11-06 14:32:27 1375

原创 布隆过滤器C语言代码

布隆过滤器C语言代码bloom filter 基本概念由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(假正例False positives,即Bloom Filter报告某一元素存在于某集合中,但...

2019-10-22 14:54:46 1767

原创 vs2015和cocos2d-x-3.17.2 开发环境搭建

vs2015和cocos2d-x-3.17.2 开发环境搭建cocos2d-x当前最新稳定版本是3.17.2,需要使用vs2015来构建。首先是安装vs2015。选择安装下面的vs版本:cn_visual_studio_community_2015_x86_dvd_6847368.iso我是在 win7+sp1+IE11的环境成功安装的。安装:python-2.7.15.am...

2019-10-14 15:16:48 1784

原创 VSCode配置打开Linux远程目录

VSCode配置打开Linux远程目录首先安装一个 VSCode SFTP的插件。快捷键: Ctrl+Shift+Xvscode-sftp[install]快捷键: Ctrl+Shift+PSFTP: Open Folder添加一个json配置: sftpConfig.json编写好后保存,注意右下角出现一个提示保存的对话框,确认保存。然后即可打开远程的目标文件夹。...

2019-09-27 15:06:06 4140

原创 C程序校验日期

C程序校验日期#define is_leap_year(year) \ ((((year) % 400 == 0) || ((year) % 4 == 0 && (year) % 100 != 0)) ? 1 : 0)/** * time_is_valid() * * test time is valid. * * remark: * ...

2019-09-27 14:17:10 420

原创 snprintf 引发的问题

snprintf 引发的问题snprintf 是 C/C++ 程序中最常见的函数了,但是snprintf 在Windows和 Linux上的行为并不一致,对于跨平台的开发,有时会带来严重的缓冲区溢出问题。本文提供了一个安全检查的版本,保证了 Windows和 Linux上的行为的一致性,任何情况下不会溢出。建议用户使用 snprintf_chkd_exit 版本,任何错误导致退出程序 ...

2019-08-16 12:43:30 1122

原创 ubuntu18.04 虚拟机安装的AppArmor 错误

ubuntu18.04 虚拟机安装的AppArmor 错误打开虚拟机管理器:$ sudo virt-manager然后安装 os iso,出现 AppArmor 错误,使用下面的命令解决:$ sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/$ sudo apparmor_parser -R /et...

2019-07-16 16:20:13 1433

原创 RedisGraph 在Ubuntu18上安装和配置

RedisGraph 在Ubuntu18上安装和配置https://github.com/RedisGraph编译RedisGraphRG编译之后是一个模块:redisgraph.soubuntu 上:# apt-get install build-essential cmake m4 automake peg libtool autoconf# git clone https://g...

2019-07-16 11:22:04 1480

原创 无阻塞连接 socket 的linux c代码

无阻塞连接 socket 的linux c代码static int setsocketnonblock(int sfd){ int flags; flags = fcntl(sfd, F_GETFL, 0); if (flags < 0) { return -1; } return fcntl(sfd, F_SETFL,...

2019-05-31 18:45:07 486

原创 crc32 C语言程序

crc32 C语言程序与 linux cksum 结果一致。没有任何依赖!/************************************************************************ Copyright (c) 2008-2080 syna-tech.com, pepstack.com, 350137278@qq.com** ALL RIGHTS R...

2019-05-10 12:49:41 3296

原创 MD5 算法 C 实现

MD5 算法 C 实现没有第3方依赖, 不动态分配内存,拿来就可以使用,与 Linux 的 md5sum 结果一致!/************************************************************************ Copyright (c) 2008-2080 pepstack.com, 350137278@qq.com** ALL RI...

2019-05-10 11:32:08 796

原创 c语言序列化和反序列化

这里写自定义目录标题c语言序列化和反序列化tplut.htplut.c测试代码参考c语言序列化和反序列化网络调用,数据传输都需要把数据序列化和反序列化。杀鸡不喜欢用牛刀,自己从底层设计协议又太繁琐,难以维护和扩展。使用 tpl (http://troydhanson.github.io/tpl/)这个库,可以很方便地构造自己的协议。我采用 TLV 协议形式,即 (key,type,leng...

2019-05-03 20:15:08 11090

原创 一个 epoll 连接句柄定时管理器

一个 epoll 连接句柄定时管理器当使用 epoll 作服务端框架,如果缓存了客户端到服务器的连接句柄(connfd),服务端需要管理起来,例如定时检查连接会话是否过期,自动清理连接等等。如下提供了一个 API 用于此目的。使用了 epoll 和 libevent。/***************************************************************...

2019-04-20 12:08:49 533

原创 为开发安装 hbase 单机版

安装 hbase 单机版为了开发和测试的目的,安装 hbase 单机版。很简单,不需要 hdfs,只要下载 hbase 的 bin 包,改2个配置文件就可以。当然前提是 java 已经安装。1 下载 hbasehttp://mirror.bit.edu.cn/apache/hbase/2.1.3/hbase-2.1.3-bin.tar.gz程序解压到: /data/hbase-root/...

2019-03-01 16:53:46 470

原创 基于redis的缓存系统设计

基于redis的缓存系统设计1 缓存的目的2 缓存系统设计写入 key读取 keyC语言参考1 缓存的目的使用缓存系统的目的是为高并发的访问提供高质量的、实时的反馈。一般的缓存系统,都是按照 key-value 去查询缓存层(如 redis),如果 key 不存在,就应该去后端持久层DB(如 HBase,MySQL)中查找 。这个时候,如果请求的并发量很大,就会对后端的DB系统造成很大的压力。...

2019-02-13 12:17:10 1623

原创 基于 epoll et 模式的 linux 实时通讯服务程序设计

基于 epoll et 模式的 linux 实时通讯服务程序设计草案设计目标设计并实现一款高性能,可无限扩展的实时通讯程序(类似腾讯 QQ 的服务或其他实时在线网游服务)。服务端是 Linux,客户端任意。要求:1)实时、高性能2)理论上无限并发连接数3)支持任意人数直接的聊天4)可以群发消息实现思路1)采用 Linux C 写 epoll edge trigger 服...

2018-09-06 11:37:37 624

原创 redis cluster C 客户端

redis cluster C 客户端使用 hiredis 作为 redis 客户端,但是不支持集群模式。这里提供一下:/************************************************************************ Copyright (c) 2018 pepstack, pepstack.com** This software i...

2018-08-14 15:07:09 1776

原创 ubuntu18.04 server 安装 tensorflow cpu 记录

ubuntu18.04 server 安装 tensorflow cpu 记录1) 下载安装 Anaconda2-5.2.0-Linux-x86_64.sh安装位置:/opt/anaconda22) 安装 # cd /opt/anaconda2/# mkdir downloads需要安装:# ./bin/pip --cache-dir=./downloads --...

2018-07-26 19:00:25 1601

原创 python多进程共享变量

python多进程共享变量以下代码创建10个进程,并发访问一个存储了变量的字典。#!/usr/bin/python#-*- coding: UTF-8 -*-## @file: test.py## 测试## @author: master@pepstack## @create: $create$## @update:######################...

2018-07-17 12:16:52 2544

原创 centos7 安装 ftp 服务及创建 repo

centos7 安装 ftp 服务及创建 repo安装 ftp 服务安装和启动服务:# yum install vsftpd# systemctl enable vsftpd# systemctl start vsftpd防火墙配置:# getsebool -a | grep ftp# setsebool -P ftpd_full_access on# firew...

2018-07-09 17:03:24 855

原创 centos7 安装 ftp 服务及创建 repo

centos7 安装 ftp 服务安装和启动服务:# yum install vsftpd# systemctl enable vsftpd# systemctl start vsftpd防火墙配置:# getsebool -a | grep ftp# setsebool -P ftpd_full_access on# firewall-cmd --permanent -...

2018-07-09 15:32:44 1064

原创 centos7(el7) 离线安装 saltstack 及配置多 master

centos7(el7) 离线安装 saltstack内网机集群无法上外网,此时需要离线安装 saltstack。首先准备一台可以上外网的跳板机,配置和内网机一样的系统,为 centos7.2。登录跳板机。下载并安装:# wget http://repo.saltstack.com/yum/redhat/salt-repo-2018.3-1.el7.noarch.rpm# rpm -...

2018-07-05 15:29:29 3053 1

原创 phoenix 使用说明

phoenix 使用说明2018-06-14~2018-06-19Apache Phoenix是构建在HBase之上的关系型数据库层,作为内嵌的客户端JDBC驱动用以对HBase中的数据进行低延迟访问。Apache Phoenix会将用户编写的sql查询编译为一系列的scan操作,最终产生通用的JDBC结果集返回给客户端。数据表的元数据存储在HBase的表中被会标记版本号,所以进行查询的时...

2018-06-27 17:49:42 4443

原创 python 读 mysql 汉字的转换

python 读 mysql 汉字的转换mysql db 采用的字符集是: latin1 python 程序编码采用: utf-8 运行的系统采用的也是 utf-8现在要把 latin1编码的汉字数据取出来,以 utf-8 展示。import codecs#import chardet# 汉字数据转换#def han_ansi2utf8(ustr, CP='latin1'...

2018-06-27 17:40:17 1334

原创 daemontools 在 centos7 上安装和监控 java 服务

daemontools 在 centos7 上安装和监控 java 服务都是以 root 运行下载和安装# wget ftp://pub:public@pepstack.com/tarball/daemontools-0.76.tar.gz解压后移动到安装目录:# tar -zxf daemontools-0.76.tar.gz# mv daemontools-0.76 /u...

2018-06-10 15:08:27 1192

原创 springboot2.0 web 开发标准目录架构说明

springboot2.0 web 开发标准目录架构说明本文档仅在于统一公司内部 java web 开发标准。因此定义了 java web 开发的工具、目录结构、定义和说明。sb2-web-spec:spring boot 2.0 开发maven 3.3+ 构建thymeleaf 作为模板引擎restful 服务接口一个基本 sb2-web 的目录结构如下:├──...

2018-06-03 13:13:49 6332 2

原创 springboot2.0 使用 Thymeleaf 开发 web 项目简单示例

springboot2.0 使用 Thymeleaf 开发 web 项目简单示例Spring boot开发web项目,通常打成jar包,使用内置的web服务器 Tomcat、Jetty、undertow 来运行。静态资源(css、js、图片等)默认放在resources/static下面。如果要修改默认存放目录,可以通过设置属性 spring.mvc.static-path-pattern来实...

2018-06-03 11:45:35 13675 1

原创 web 网页调试工具 browser-sync 在 Windows 上安装

web 网页调试工具 browser-sync 在 Windows 上安装当在开发的机器上,修改了html页面,css 文件时,希望能立即看到改正后的结果。使用 browser-sync 这个工具能达到目的。browser-sync 是 nodejs 下面的一个 npm 包,以命令行的方式启动一个本地的web服务,只要在浏览器里浏览它的地址: http://localhost:3000...

2018-05-31 15:38:10 2544

原创 win7 和 win10 上 cygwin 启用 sshd 服务

cygwin 启用 ssh 服务环境: windows7+cygwin要求:cygwin 启用 ssh 服务, 其他机器可以用 ssh root@ip 的方式登录到本机(windows + cygwin)。cygwin 启用 root 账户打开 cygwin,导入 windows 帐号: $ mkpasswd -l &gt; /etc/passwd...

2018-05-31 11:08:39 2366

原创 centos7.2 mysql-5.7 多实例配置

centos7.2 mysql-5.7 多实例配置登录到 mysql 服务端计算机上。如果没有启动,需要先启动 mysql: # systemctl start mysqld查询数据文件目录: # mysqladmin -u root -p’YourNewPass’ variables | grep datadir | datadir | ...

2018-05-31 10:56:59 2885 2

原创 cygwin 多 tab 窗口页面

cygwin 多 tab 窗口页面参考: https://github.com/juho-p/fatty打开一个 cygwin 窗口,输入: git clone https://github.com/juho-p/fatty.git cd fatty make cp src/fatty.exe /bin然后创建快捷方式: C:\DEVPAC...

2018-05-31 10:46:46 3894

ringbuf-c.zip

我自己实现的C语言版的无锁环形缓冲区ringbuffer。实现了指针环形存储和数据块环形存储。高可用,高性能。只有头文件。

2021-07-16

nasm-2.15.05-win.zip

VS2015使用NASM编译汇编文件的完整软件和安装说明。支持32位和64位。修复了配置文件的一个BUG,保证可以编译asm文件,同时混编C。

2021-07-15

shapefile-1.4.tar.gz

ESRI Shp 格式文件 C API. 修复原始BUG,载入速度加快。增加了wkt, wkb 格式转换. 可以直接在 VS2015, cygwin, mingw, linux 上编译(Makefile)。

2021-06-15

libshapefile-src.zip

基于开源的重写的读 ESRI Shp 文件的源代码,减少内存复制,提供更好的效率和功能。例如 wkb, wkt 格式转换等。

2021-06-10

avro-channel-csdn

netty 的mvn项目模板,包含全部依赖包.使用mvn编译.参考pom.xml

2015-03-13

C 语言实现的内存池 mpool.c : 适用于Windows和Linux

当C/C++程序频繁分配内存,或者管理很多大块内存的时候,我们就需要一个简洁高效的内存池(memory pool)。很多语言提供了这个基础设施,这里我提供一个C语言的版本mpool.c:原始的mpool仅仅提供Unix/Linux的版本,我增加了Windows的版本,这样这个mpool就成为适用于Windows和Linux的完整的版本了。

2012-12-07

mbrfix_win7_vista_xp_32_64

mbrfix for win7 vista xp 32bits and 64bits Windows7下如何删除Ubuntu 本文假设你的Windows7安装在C:盘,安装在其他位置没有测试过。 第1步,启动进入Windows7,修复MBR。 在win7下,点击进入: 开始(Start) -> 全部程序(All Programs) -> 附件(Accessories) 在 命令行工具(Command Prompt) 上点右键,以管理员身份运行(Run as administrator)。 (参考:MbrFix.win7.txt) 假设U盘为F:,根目录下有MbrFix.exe: cd F: F:/> MbrFix.exe /drive 0 fixmbr /win7 回车,看到提示后,然后按y即可。

2011-12-19

使用Ruby on Rails开发LBS网站初探示例代码

这几天一直在学习使用RoR(Ruby on Rails),想建立一个功能全面一点的LBS(Location Based Service)网站。但是对于我这个RoR的初学者(仅有几天时间)来说,毕竟太复杂了。因此本文试图简化原来的设计思路,抛弃一切权限管理,仅仅对数据表中的坐标位置进行插入和更新。也就是,使用表单提交用户坐标位置信息,地图页面定时刷新获取这些信息并显示在地图上。通过这个例子,来熟悉RoR的编程,熟悉ArcGIS Online Map。掌握Ajax在RoR中的一般用法(RJS)。

2011-07-21

拓扑算法的C语言实现完全代码

在GIS领域,拓扑(topology)算法是一个很重要的算法。它把平面上的线段、折线,自动连接成网络,进而构成封闭的区域。 从而形成面和面之间、面和线之间、线和结点之间等各种空间关系。 通过这个算法,可以把给定区域内的线的集合构成网络或面,因此拓扑是数据处理、空间分析领域的一个极为重要的运算工具。几乎所有的重要的GIS系统都提供这样的算法。然而即使是最出名的系统,提供的算法仅是让用户使用而已。本文根据作者多年的经验,总结出这样一套C语言的算法,不敢说是目前出现的最好的算法,起码在互联网上,搜索不到比这个更精炼和优美的算法实现。

2010-06-25

struct2variant_cheungmine.rar

将用户自定义的C结构数据存储成VARIANT类型,需要时再将VARIANT类型转为用户自定义的结构数据,有十分现实的意义,既然我们不想为这样的结构数据写一个COM包装类。虽然有很多方法和手段生成这样的VARIANT,但是,多数时候可能需要一个更加简单的,灵活的方法。我在做远程过程调用的C 接口时,忽然联想到,既然RPC可以把任何数据以字节的形式发送,那么,就可以利用这个机制,把结构打包成字节数组。而字节数据是可以很方便地存储在 VARIANT中。

2010-06-10

WinCE HTML Browser Control

Wince下如何使用Web控件开发界面程序

2010-01-11

样条函数绘制曲线测试程序源代码

分段3次样条算法绘制等高线等光滑曲线,并且由于采用了折线的重采样,以最小的数据量保证了绘图的精确度。vs2005 mfc测试程序。

2009-04-05

docktabframe_vs2005_wtl80.rar

refer to: http://www.codeproject.com/KB/tabs/docktabframe.aspx MUST read "Readme.txt" before use it! 一个wtl80实现的类似vs风格的框架程序. 参考上面的文章,我修改了部分代码,以支持wtl80+vs2005. 必须阅读Readme.txt

2009-03-06

lib3ds20_with_win32_and_sgi_opengl_all_in_one

1)包含BUG修复后的最新的lib3ds2.0的全部代码和VS2005的测试项目工程。 2)Windows下的完整的OpenGL库(非源码)。 3)SGI的OpenGL2的库。 全部内容即可编写Windows或SGI的OpenGL程序。

2009-02-15

cheungmine的最新的oradbi库

基于OCI的操作oracle9i或10g以上的数据库C API, 在不损失性能的前提下,大大简化了oracle的操作。 这是cheungmine维护的开源软件!

2008-08-27

oradbi_project_cheungmine

ORADBI是我在Oracle OCI(Oracle 调用接口)基础上开发的。根据Oracle公司的介绍:OCI是如此可靠,以至于Oracle数据库中的每一条SQL语句都通过OCI来执行。当应用程序开发人员需要面向Oracle数据库服务器的最强大的接口时,他们将调用 Oracle调用接口(OCI)。OCI提供了对所有Oracle数据库功能的最全面的访问。OCI API中包含了最新的性能、可伸缩性和安全性特性。

2008-04-01

cryptopp32---new

最新的crypto++包装

2008-03-29

MapLib

文章<组件对象模型与ATL实现>的示例代码

2007-10-10

uuidgen

以软件算法实现UUID非常有现实意义。参考RFC4122文档和其他一些开源代码,我写了一个WIN32下的UUID实现C语言程序——UUID32.c,不调用任何WIN32 API。程序符合RFC4122标准。程序不但实现创建UUID和UUID String,还可以对UUID进行字符和时间上的比较。还可以从UUID中提取时间戳(精度到秒)。

2007-09-17

uuid32.dll

创建uuid的c程序,win32版本

2007-09-14

CryptoPP32.DLL

封装cryptopp的加密解密库

2007-09-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除