2017-11-07 ruki
xmake-idea 插件深度集成了xmake和Intellij-IDEA,提供方便快速的跨平台c/c++构建。 并且它也支持其他基于Intellij的IDE环境, 例如:Clion, Android Studio等等。 注:使用此插件,需要先安装xmake,更多关于xmake的使用说明,请阅读:文档手册,项目源码:Github。 特性 快速开始 创建空工程向导 全局工程配置 运行环境配置 菜单栏工具 快捷的编译工具窗口 构建和运行 错误解析和跳转 快速开始 错误解析和跳转 继续阅读 »
2015-04-05 刘太华
游戏里有很多事件, 可能会随玩家, 或场景内某个物品或某个生物体的状态, 来触发这些事件。比如那种跟随主人走动的宠物,可以认为随主人的状态变更为STATE_MOVE来触发宠物的某个事件, 比如跟随主人,宠物类和宠物的AI类, 以及人物类, 均是独立的, 我们需要一个观察器来连接他们之间的关联: 继续阅读 »
2014-08-19 ALEX LIN
首先安装fcitx输入法。 sudo apt-get install fcitx fcitx-config-gtk fcitx-sunpinyin fcitx-googlepinyin fcitx-module-cloudpinyin sudo apt-get install fcitx-table-all sudo apt-get install im-switch im-switch -s fcitx -z default 可以选择安装搜狗拼音输入法。下载地址 安装C/C++的编译环境和gtk libgtk2.0-dev sudo apt-get install build-essential libgtk2.0 继续阅读 »
2016-05-21 craneyuan
为二维数组动态分配内存涉及以下两个问题: 数组元素是否需要连续 数组是否规则 在这里我们暂时不考虑数组是否规则,我们从数组元素的分配是否连续考虑。 已知第二维 c // 数组指针 char (*a1)[COLUMNS]; a1 = (char(*)[COLUMNS])calloc(ROWS,sizeof(char*)); more 已知第一维 c // 指针数组 char *a2[ROWS]; for(int i = 0; i < ROWS; i++) { a2[i] = (char*)calloc(COLUMNS, sizeof(char)); } 已知第一维,一次分 继续阅读 »
2016-06-26 ruki
A simplest xmake.lua ```lua -- define a target with named 'demo' target("demo") -- set the target kind, .e.g 'binary' is a console program -- - static: a static library -- - shared: a shared library set_kind("binary") -- add all c source files in the directory: src add_files("src/*.c" 继续阅读 »
2015-09-29 Eric Wang
比大小 解题思路:解此题需要使用到康托展开,康托展开的公式如下 $$X=a_n*(n-1)!+a_{n-1}*(n-2)!+\cdot\cdot\cdot+a_i*(i-1)!+\cdot\cdot\cdot+a_2*(2-1)!+a_1*(1-1)!$$ 公式看不懂没关系,下面以一个例子来讲解公式的使用! 例如:有一个数组S=["a","b","c","d"],它的其中之一个排列是S1=["b","c","d","a"],现在欲把S1映射成X,需要怎么做呢?按如下步骤走起 $$X=a_4*3!+a_3*2!+a_2*1!+a_1*0!$$ 首先计算n,n等于数组S的长度,n=4 再来计算a4="b"这个元素在数组[ 继续阅读 »
2014-12-09 Mithrilwoodrat
这几个实验都是上课时候一两小时实现的,因为老师给出的参考代码有些惨不忍睹(虽然我写的也没好到哪去).因为时间有限,就没用C++. 同样是因为时间有限,仅供参考,有bug概不负责. 代码如下 # -- coding: utf-8 -- class Bank(object): def init(self): self.totalpro = 0 self.process = [] self.res_num = 4 self.res_type = ['A', 'B', 'C', 'D'] self.Resources = {'A':10, 继续阅读 »
2016-10-13 曹强
php
Introduction 在[PHP设计模式(四):继承][2]中我们介绍了继承,利用extends来进行程序设计的方法。 在[PHP设计模式(二):抽象类和接口][3]中我们介绍了接口,事实上也存在利用interface的程序设计方法,那就是多态。 和C/C++,Java,Python等语言一样,PHP也支持多态。多态更多是是一种面向对象程序设计的概念,让同一类对象执行同一个接口,但却实现不同的逻辑功能 。 多态/Polymorphism 还是用动物、鲸鱼和鲤鱼来举例: interface IEat { function eatFish(); function eatMoss(); } class Wha 继续阅读 »
2017-08-10 ruki
之前的版本对编译控制粒度,只能到target这一级: ```lua -- 全局根配置,所有target都会被影响 add_defines("ROOT") target("test") -- target目标配置,只对test目标下的所有源文件编译生效 add_defines("TEST") add_files("src/*.c") ``` 最近给2.1.6开发版本中的add_files进行了改进,支持基于files更细粒度的编译选项控制,例如: lua target("test") add_defines("TEST1") add_files("src/*.c") add_files("test/* 继续阅读 »
2016-08-04 ruki
tbox的vector容器沿用了stl库中vector的命名,说白了就是以数组方式存储元素,也是整个容器库中最基础的容器之一。 当然,在c中用tbox的vector跟用stl的vector其实差不了太多,用起来都很方便。 先看个简单的例子熟悉下: ```c // 初始化一个维护大小写敏感字符串的vector容器,第一参数设置元素自动增长大小,这里使用0表示默认大小 tb_vector_ref_t vector = tb_vector_init(0, tb_element_str(tb_true)); if (vector) { // 在头部插入元素 tb_vect 继续阅读 »