引言

    一个为 简单高效而生的 简易跨平台的 纯C开发框架.

    githup上源码   https://github.com/wangzhione/sconsole_project

请容我细说 simple c的优势.

  1.适合新手,刚开始思考开源框架了. 这个框架设计和代码都容易

  2.稀缺,C 的开源框架,要么很出名, 难度大, 要么就没有, 这里定位是中等左右

    3000 - 5000 行代码量没有过多的网络层,图形层东西,适合语法,逻辑开发层研究.

  3.特别适合在校生, 学习. 刚上学的时候,用了这个框架最开始绉形, 为老师做数据统计分析的

更好的发展, 以个人读书经验而言. 在window上比这个框架 学习用处更大我就觉得

  自制编程语言 那位大牛 写的两个框架 , 大家可以试试

对于 linux , 毕竟linux上优秀的开源框架太多了. 前提你能力够好,否则你也看不懂.

倒不如看这个. 简单还能改造成自己的框架.

  在此声明,这个框架随便改, 随便玩, 不介意. 都是你的. 心情好,还可以免费帮你维护

修复一下.

前言

  这个项目刚发出去, 比较简单. 这里会详细介绍一下.经过仔细思考, 这个项目开发

侧重点在window上,测试侧重点在linux上, 发布侧重点也在linux上.  为什么呢. 容菜鸟我普及一下.

  1. 同等条件下linux程序员 编程水平比 window程序厉害

    因为linux 的学习成本,研究成本比window高很多, 需要自己折腾很久. 对于同样的知识.

  2. window 上最大优势是 开发效率高, 很方便的查看源码. 因为有宇宙最强IDE VS 旗舰版.

所以总结是, 要想提高技术,研究linux开发,要想提升工作开发效率,用vs. 我这里采用的思路是 使用VS开发

代码最初的demo,后面放到 linux上 详细测试调优.

扯完了 先看 window 上 simple c 结构

上面两个图, 就是最终项目开发框架图. 源码见git, 也可以做成项目模板. 后面再说了.

看一下 linux上项目框架图

到这里基本对这个项目有了大概的了解了. 下面会细细说明作用的.

正文

  原本想主打linux,后面觉得别说linux框架NB的无数,unix的框架更是望其项背. 后面还是猥琐一下,在window 上

说说纯C语法开发吧. 下面那就开始吧.

window 上使用说明

说的都是大白文,走个流程

首先是main 文件夹

  这里主要放的是主要运行模块代码,对外用的,测试用的. 上面几个test_*.c 代码都是相应的 模块测试代码

后面 readme 文件夹

  help.txt 这里是关于VS2015 使用上面的一些配置

module 是模块代码文件夹

  细分 pthread 模块文件夹

    pthread for window上代码,个人修改了冲突,让其能够在当前系统上运行

  struct 文件夹

    系统内部使用的 数据结构

  schead 文件夹

    保存了开发中用的 宏定义, 各种辅助模块,文件,日志,配置, 原子锁等.

总的而言框架就这样了. 再细说 请查看我以前 写的博文 C 基础框架那些库的代码设计

介绍的很详细.

linux 上使用说明

linux上 代码比window精简了很多. 因为linux系统内置很多模块. 从这里都能看出 linux从性能上比window高效太多了.

也就图形上研究人员少,有点薄弱. 目前网络层linux 优势大. 图形层window优势大.

还有需要说的一点是 linux 上编译步骤需要我们自己写. Makefile 文件如下

C = gcc
DEBUG = -g -Wall -D_DEBUG
#指定pthread线程库
LIB = -lpthread -lm
#指定一些目录
DIR = -I./module/schead/include -I./module/struct/include
#具体运行函数
RUN = $(CC) $(DEBUG) -o $@ $^ $(LIB) $(DIR)
RUNO = $(CC) $(DEBUG) -c -o $@ $^ $(DIR) # 主要生成的产品
all:test_cjson_write.out test_csjon.out test_csv.out test_json_read.out test_log.out\
test_scconf.out test_tstring.out #挨个生产的产品
test_cjson_write.out:test_cjson_write.o schead.o sclog.o tstring.o cjson.o
$(RUN)
test_csjon.out:test_csjon.o schead.o sclog.o tstring.o cjson.o
$(RUN)
test_csv.out:test_csv.o schead.o sclog.o sccsv.o tstring.o
$(RUN)
test_json_read.out:test_json_read.o schead.o sclog.o sccsv.o tstring.o cjson.o
$(RUN)
test_log.out:test_log.o schead.o sclog.o
$(RUN)
test_scconf.out:test_scconf.o schead.o scconf.o tree.o tstring.o sclog.o
$(RUN)
test_tstring.out:test_tstring.o tstring.o sclog.o schead.o
$(RUN) #产品主要的待链接文件
test_cjson_write.o:./main/test_cjson_write.c
$(RUNO)
test_csjon.o:./main/test_csjon.c
$(RUNO)
test_csv.o:./main/test_csv.c
$(RUNO)
test_json_read.o:./main/test_json_read.c
$(RUNO)
test_log.o:./main/test_log.c
$(RUNO) -std=c99
test_scconf.o:./main/test_scconf.c
$(RUNO)
test_tstring.o:./main/test_tstring.c
$(RUNO) #工具集机械码,待别人链接
schead.o:./module/schead/schead.c
$(RUNO)
sclog.o:./module/schead/sclog.c
$(RUNO)
sccsv.o:./module/schead/sccsv.c
$(RUNO)
tstring.o:./module/struct/tstring.c
$(RUNO)
cjson.o:./module/schead/cjson.c
$(RUNO)
scconf.o:./module/schead/scconf.c
$(RUNO)
tree.o:./module/struct/tree.c
$(RUNO) #删除命令
clean:
rm -rf *.i *.s *.o *.out __* log ; ls -hl
.PHONY:clean

从上往下读,很基础,因为我的Makefile 学的很基础. 先编译什么,依赖什么. 这样把这个项目编译起来了. 大家试试. 发布的时候 去掉-D_DEBUG 就可以了.

想再说一点, 我们在window和linux上协同工作的时候,常遇到编码问题.

解决方案

  window上编译器 IDE 采用英文环境 默认 utf-8

  linux 采用 enca 很好用, 怎么安装, 自己google 一下.

到这里有点懒了,不想细说了. 就这样吧. 说的再多, 也说不清楚所有..............................

后记

  错误是难免的,欢迎吐槽...

这个框架出来,是该写一写好玩的东西. 有机会分享几个建议的游戏开发. 以后有机会准备分享一些. 下一个阶段有机会再分享一些网络库和数据库开发的知识.

bye...

C 简易基础开发框架 - simple c的更多相关文章

  1. Dos简易基础及常用Dos命令

    Dos简易基础及常用Dos命令 什么是cmd? cmd是command的缩写,意指操作系统中的命令行程序,一般说的都是Windows中的Dos系统. 如何打开cmd? 键盘操作:Win + R 输入c ...

  2. Solon 1.5.29 发布,轻量级 Java 基础开发框架

    本次版本主要变化: 增加 captcha-solon-plugin 插件(提供滑块验证与选文字验证能力) 插件 sa-token-solon-plugin,升级 sa-token 为 1.26.0 插 ...

  3. 轻量级 Java 基础开发框架,Solon & Solon Cloud 1.5.40 发布

    Solon 已有120个生态扩展插件,此次版本以细节打磨为主: 增加 mybatisplus-solon-plugin 插件 //至此,Solon 已完成国内外主流的5个ORM框架插件适配 插件 so ...

  4. 轻量级 Java 基础开发框架,Solon & Solon Cloud 1.5.48 发布

    Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 增加 solon.serialization,做为序列化的基础插件 优化 所有Json序列化插件,使之可方便定制类型序列化 public ...

  5. 轻量级 Java 基础开发框架,Solon & Solon Cloud 1.5.52 发布

    Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 插件 mybatis-solon-plugin 增加 mappers 单行配置支持 之前的多行模式: mybatis.db1: type ...

  6. Solon & Solon Cloud 1.5.62 发布,轻量级 Java 基础开发框架

    Solon 已有120个生态扩展插件,此次更新主要为细节打磨,且对k8s和docker-compose更友好: 1.插件 solon.coud ,事件总线增加支持本地同主题多订阅模式(以支持同服务内, ...

  7. 简易的开发框架(微服务) Asp.Net Core 2.0

      Asp.Net Core 2.0 + Mysql Orm + Ioc + Redis + AOP + RabbitMQ + Etcd + Autofac + Swagger 基础框架: https ...

  8. Xcode简易基础篇,以新手角度去操作

    声明:此Newlife XCode非Mac的XCode,避免误会. 日常用的Newlife X组件的相关资源,不限于XCode,只是以XCode组件为主: 1.QQ群:1600800 2.博客 : h ...

  9. C基础 多用户分级日志库 sclog

    引言 - sclog 总的设计思路 sclog在之前已经内置到simplec 简易c开发框架中一个日志库. 最近对其重新设计了一下. 减少了对外暴露的接口. 也是C开发中一个轮子. 比较简单, 非常适 ...

随机推荐

  1. JAVA的JDBC连接与sql操作

    一.前言 本文主要介绍怎样连接数据库.即JDBC的操作.以MySQL为例子. 前提是首先要将驱动jar包放入对应路径中. 二.过程说明 1.加载jdbc驱动程序 <span style=&quo ...

  2. linux中如何查看进程占用了哪些端口?

    使用netstat –apn | grep <进程名>便可以查看指定进程所占用的端口.

  3. 【Flex教程】#009 As/typeof /instanceof /is的作用

    “as” :主要用它做类型转化 假设有一个类叫做Class1,我们声明了一个它的对象 c1,如果想要将它转换成Class2类型,只要这样写: Class2(c1); AS3 中的操作符: as 实现就 ...

  4. tornado框架之路一

    Web 服务器 每个页面都以 HTML 的形式传送到你的浏览器中,HTML 是一种浏览器用来描述页面内容和结构的语言.那些负责发送 HTML 到浏览器的应用称之为“Web 服务器”,会让你迷惑的是,这 ...

  5. The str method

    __str__ is a special method name, like __init__, that is supposed to return a string representation ...

  6. Android控件大全(二)——Toolbar

    1.隐藏Actionbar 代码中设置:requestWindowFeature(Window.FEATURE_NO_TITLE)     //如果Activity是继承自AppCompatActiv ...

  7. java swing 使用按钮关闭窗口

    目的是给JButton添加点击操作,使指定JFrame窗口关闭. 网上不少说法是采用frame.dispose();的方法 但是采用frame.dispose();并没有使添加在frame上的wind ...

  8. python3.5在print和input上的几个变化

    1. 在python3.5中使用print,打印内容必须用括号()括起来.python2.7中可以不用括号,如果你加了括号,代码在python2.7中也是可以正常运行的. python3.5 exam ...

  9. 微信JS-SDK]微信公众号JS开发之卡券领取功能详解

    js sdk: http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E9.99.84.E5.BD.952-.E6 ...

  10. Razor视图引擎 语法