引言

    一个为 简单高效而生的 简易跨平台的 纯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实现

    一. 前言 又GET了一项技能.在做聚类算法的时候,由于要评估所提出的聚类算法的好坏,于是需要与一些已知的算法对比,或者用一些人工标注的标签来比较,于是用到了聚类结果的评估指标.我了解了以下几项. 首 ...

  2. html5标签css3的常用样式

    <meta name=''> name:有如下6个值:application-name:文档名或者应用名,整个文档只能包含一个值.author:文档作者description:文档描述ge ...

  3. [翻译]你真的知道你看到的UTF-8字符是什么吗?

    翻译自http://www.pixelstech.net/article/1397877200-You-know-what-UTF-8-is-when-you-see-it- Source : son ...

  4. Laxcus大数据管理系统2.0(2)- 第一章 基础概述 1.1 基于现状的一些思考

    第一章 基础概述 1.1 基于现状的一些思考 在过去十几年里,随着互联网产业的普及和高速发展,各种格式的互联网数据也呈现爆炸性增长之势.与此同时,在数据应用的另一个重要领域:商业和科学计算,在各种新兴 ...

  5. C#中的委托,匿名方法和Lambda表达式

    简介 在.NET中,委托,匿名方法和Lambda表达式很容易发生混淆.我想下面的代码能证实这点.下面哪一个First会被编译?哪一个会返回我们需要的结果?即Customer.ID=.答案是6个Firs ...

  6. 【MariaDB】MariaDB编译参数

    参考: http://wangfeng7399.blog.51cto.com/3518031/1393146?utm_source=tuicool http://www.phperz.com/arti ...

  7. CSS 之 Opacity多浏览器透明度兼容处理

    用来设定元素透明度的 Opacity 是CSS 3里的一个属性.当然现在还只有少部分浏览器支持. 不过各个浏览器都有自己的私有属性来支持,其中包括老版本的Mozilla和Safari: IE: fil ...

  8. Linux 下多核CPU知识

    1. 在Linux下,如何确认是多核或多CPU: #cat /proc/cpuinfo 如果有多个类似以下的项目,则为多核或多CPU: processor  : 0 ...... processor  ...

  9. leetcode 67

    67. Add Binary Given two binary strings, return their sum (also a binary string). For example,a = &q ...

  10. PowerDesigner英文字段转换中文字段显示

    get_comments.vbs代码如下点击Run Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl ' ...