C/C++

A collection of 5 posts

C/C++

C++ 多线程编程尝试

在开发 animeloop-cli 的时候,考虑到某些使用者机器是服务器版多核心多线程 CPU ,需要添加程序运行多核心支持。 大致尝试了几种多线程编程方法。 OpenMP OpenMP 用于共享内存并行系统的多线程程序设计的一套指导性注释(Compiler Directive)。 首先用一段简单的代码展示 OpenMP 最基础的使用: #include <iostream> #include <omp.h> int main() { #pragma omp parallel for for (int i = 0; i < 10; ++i) { std::cout << i; } return

Animeloop 网页服务器开发细节
C/C++

Animeloop 网页服务器开发细节

这篇文章主要记录了在开发 animeloop server 的过程中遇到的一些问题和相关的解决办法,以及整体服务器程序的结构设计。 基本结构 图片生成于 iThoughtsX for Mac 数据库 Animeloop 服务器数据库一开始是使用的 MySQL 的,但是后来为了尝试新技术方便,改用了 MongoDB。我个人的想法是,这种不包括用户数据的站,其实是并没有多少数据量,(对比一些社交网站,可能用户会发大量的文字或者上传大量的图片),所以~~从偷懒的角度来讲,~~至少开发前期是完全不需要考虑性能问题的。使用之前在网上也搜索过相关的信息,比如使用 MongoDB 的优缺点,

算法

带小数的高精度数的任意进制转换

大学第一学期期末课程设计的一道题,进制转换。 大概思路就是把整数和小数部分分开为 整型 类型,由一个结构体构成。整数部分进制转换模拟人工除法取余,小数部分进制转换模拟人工乘法取整。 numTrans.h /* Windows 8.1 VS 2013 Pro 编译通过 */ #include <stdio.h> #define MAXSIZE 10000 typedef struct n{ short s_integer[MAXSIZE]; short s_decimal[MAXSIZE]; }NUMBER; int inputNum(NUMBER * f_num, int f_

算法

算法题 HDU Problem 2211 杀人游戏

类约瑟夫环问题 算法题目链接地址 传送门 题目要求 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1506 Accepted Submission(s): 315 Problem Description 不知道你是否玩过杀人游戏,这里的杀人游戏可没有法官,警察之类的人,只有土匪,现在已知有N个土匪站在一排,每个土匪都有一个编号,从1到N,每次杀人时给定一个K值,从还活着的土匪中,编号从小到大的找到K个人,然后杀掉,继续往下,直到找遍,然后继续从剩下的土匪中,编号从小到大找到第K个活着的土匪,然后杀掉。