当前位置: 首页 > news >正文

那个网站做宝贝主图好有设计师做的装修效果图的网站

那个网站做宝贝主图好,有设计师做的装修效果图的网站,网站字体变大代码,网站怎么自己做优化共享内存由于是多进程共享的,里面的数据不适合包含指针,因为共享内存在不同进程里的地址并不相同。尽管可以在连接共享内存时指定连接地址,但是,这样做限制太多: 不同硬件、系统这个地址可能不一样,没有通…

        共享内存由于是多进程共享的,里面的数据不适合包含指针,因为共享内存在不同进程里的地址并不相同。尽管可以在连接共享内存时指定连接地址,但是,这样做限制太多:

  • 不同硬件、系统这个地址可能不一样,没有通用性
  • 动态挂载、卸载不能保证地址可用,从而只能在进程加载时尽早连接共享内存
  • 不同的使用共享内存的组件存在冲突可能,导致地址不可用

        因此坚持由系统分配连接地址是合理的。这样,就要求共享内存里的数据不包含指针,通常我们都选择只使用简单结构,但是即使是简单结构,我们也可以尽量包装一下,方便使用。

        这里就是一个字符串的模板sstring<int>,用来替代sstring。设计思想很简单,就是个定长数组,提供类似string的操作。

        这个代码在sstring后面还包含了两个运算符重载,用来支持>>和<<。

        代码是用于unix/linux的。

#include <cstring>
#include <string>//定长字符数组模板,共享内存不能用string,char[]又不安全
template <long BUFSIZE >
class sstring
{
private:char data[BUFSIZE];static void _copydata(char * buf, char const * source){buf[BUFSIZE - 1] = '\0';long i = 0;for (; i < BUFSIZE - 1; ++i){buf[i] = source[i];if ('\0' == source[i])break;}for (; i < BUFSIZE - 1; ++i){buf[i] = '\0';}}
public:sstring() { memset(data, 0, BUFSIZE); }~sstring() { memset(data, 0, BUFSIZE); }sstring(sstring const & tmp) { _copydata(data, tmp.data); }sstring(char const * psz) { _copydata(data, psz); }sstring(std::string const & str) { _copydata(data, str.c_str()); }sstring & operator=(sstring const & tmp) { _copydata(data, tmp.data); return *this; }sstring & operator=(char const * psz) { _copydata(data, psz); return *this; }sstring & operator=(std::string const & tmp) { _copydata(data, tmp.c_str()); return *this; }long size()const { return strlen(data); }char const * c_str()const { return data; }char const & operator [](long off)const { return data[off]; }bool operator == (char const * tmp)const { return 0 == strcmp(data, tmp); }bool operator == (sstring const & tmp)const { return 0 == strcmp(data, tmp.data); }bool operator == (std::string const & tmp)const { return 0 == strcmp(data, tmp.c_str()); }bool operator != (char const * tmp)const { return 0 != strcmp(data, tmp); }bool operator != (sstring const & tmp)const { return 0 != strcmp(data, tmp.data); }bool operator != (std::string const & tmp)const { return 0 != strcmp(data, tmp.c_str()); }bool operator < (char const * tmp)const { return 0 > strcmp(data, tmp); }bool operator < (sstring const & tmp)const { return 0 > strcmp(data, tmp.data); }bool operator < (std::string const & tmp)const { return 0 > strcmp(data, tmp.c_str()); }bool operator <= (char const * tmp)const { return 0 >= strcmp(data, tmp); }bool operator <= (sstring const & tmp)const { return 0 >= strcmp(data, tmp.data); }bool operator <= (std::string const & tmp)const { return 0 >= strcmp(data, tmp.c_str()); }bool operator > (char const * tmp)const { return 0 < strcmp(data, tmp); }bool operator > (sstring const & tmp)const { return 0 < strcmp(data, tmp.data); }bool operator > (std::string const & tmp)const { return 0 < strcmp(data, tmp.c_str()); }bool operator >= (char const * tmp)const { return 0 <= strcmp(data, tmp); }bool operator >= (sstring const & tmp)const { return 0 <= strcmp(data, tmp.data); }bool operator >= (std::string const & tmp)const { return 0 <= strcmp(data, tmp.c_str()); }
};template <long BUFSIZE >
inline std::ostream& operator <<(std::ostream & out, sstring<BUFSIZE> const & data)
{out << data.c_str();return out;
}template <long BUFSIZE >
inline std::istream & operator >>(std::istream & in, sstring<BUFSIZE> & data)
{std::string tmp;in >> tmp;data = tmp;return in;
}

        这个代码在我的共享内存体系里是个基础对象,广泛使用。

(这里是结束)

http://www.yayakq.cn/news/981782/

相关文章:

  • 厦门网站建设68清华大学绿色大学建设网站
  • 网站页面策划怎么做长沙网站设计制作
  • 西安网站建设全包围场网站建设
  • 苏州建设交通高等职业技术学校网站店铺logo图片免费生成器
  • 网站建设改版wordpress wp rocket
  • 北京金河水务建设有限公司网站邯郸网站设计哪家专业
  • 网站建设介绍大全美食网站网站建设定位
  • 做团购网站商品从哪里找海外直播
  • 网站开发与维护招聘广告类型有哪几种
  • 茶的网站制作网站建设进什么科目
  • 四川平昌县建设局网站辽宁网站制作
  • 贵州易广建设集团网站网站建设 外包 厦门
  • 返利网网站怎么做seo短期培训班
  • 南昌网站建设公司特色电商运营怎么推广一个新品
  • 成都网站建设 川icp备网站做的好不好看什么
  • 营销网站创建php网站制作费用
  • 网站怎么做内链外链网站开发需有没有著作权
  • 阿里云官方网站 icp代备案管理系统python网页版编程
  • 意大利 网站设计asp网站源码
  • 做网站要用写接口6简单的网页设计作业
  • 灵犀科技网站建设wordpress 插件系统
  • 网站设计作品案例讲解网站建设发展状况
  • 商融交通建设工程有限公司网站做logo的比赛网站
  • 网络销售网站推广查企业信息怎么查
  • 济宁专业建网站wordpress中文标签件
  • 专业东莞网站建设报价优秀网站下载
  • 三五互联网站建设渭南建设用地规划查询网站
  • seo网站后台管理淘宝联盟网站推广怎么做
  • 综合社区网站开发费用做优惠券的网站有哪些
  • 做通风工程上哪个网站发布南宁网站建公司