问题列表 - 第6174页

如何在C++中实现进程全局变量?

通常在 .cpp 文件中使用变量会导致该变量全局可用,如下所示:

.h file:
extern int myGlobal;
void work();

.cpp file:
int myGlobal = 42;
void work(){ myGlobal++; }
Run Code Online (Sandbox Code Playgroud)

当 .cpp 文件放入静态库并且多个共享库 (DLL) 或针对该静态库的可执行链接时,每个文件都有自己的 .cpp 文件副本myGlobal。work() 将修改它自己的变量版本。

我现在的问题是:有没有办法获取进程范围的唯一变量或指向该变量的指针?与线程范围变量的线程局部存储类似。它不必是平台独立的。如果它能在 Win32 中运行,那就加分了:)

c++

7
推荐指数
1
解决办法
4191
查看次数

app_themes css文件和版本号

我希望能够在我的asp.net网站的app_themes文件夹中的css文件中附加一个版本号,以便修改该文件会强制浏览器从服务器获取文件而不是使用缓存.

css输出路径看起来像〜/ app_themes/blue/blue.css?v = 1234

知道如何在不必手动编辑文件名的情况下完成它吗?

asp.net app-themes

5
推荐指数
2
解决办法
2761
查看次数

Pygame相当于Ruby?

我想知道是否有人知道Ruby的PyGame等价物.我见过Ruby/SDL,我正在寻找一些更适合游戏的东西.

ruby

8
推荐指数
2
解决办法
2688
查看次数

NSTextField右侧有"填充"

我试图在我的圆形NSTextField中显示"剩余字符通知",并在Interface Builder的帮助下使用两个NSTextField获得它,它看起来像是这样:

alt text http://jeenaparadies.net/t/s/Twittia-NSTextField1.png

但是当我写一点点时,它看起来像那样:

alt text http://jeenaparadies.net/t/s/Twittia-NSTextField2.png

我唯一能想到的是继承NSTextField并使用它做一些事情,因此它不会在数字下面绘制文本,但我不知道如何开始并需要真正的帮助.

cocoa objective-c nstextfield

5
推荐指数
1
解决办法
4651
查看次数

避免千言万语的最佳方法?

我基本上有这个问题:现在,我们有一个系统,它获取一个字符串作为输入,它基本上说ACTION:.

对于每个动作,都有一个自动生成的函数(Rational Rose GRRR),例如

bouncer_comm.chatMessage("data goes here").sendAt(msg->sapIndex0());
bouncer_comm.askforname().sendAt(msg->sapindex0());
Run Code Online (Sandbox Code Playgroud)

bouncer_comm返回一个RTOutSignal,我无法手动创建它们,因为玫瑰使用了奇怪的结构.

现在,我唯一的选择是创建一百个左右的if语句,我这样做:

if(action == "CHAT")  bouncer_comm.chatMessage("data goes here").sendAt(msg->sapIndex0());
Run Code Online (Sandbox Code Playgroud)

这真是令人烦恼.

什么是避免这种情况的最佳方法?我看过/试过无数的东西,这是理性玫瑰(前2k)的旧版本,是的.

如果有人有任何想法会很惊人.

c++ boost rational-rose

4
推荐指数
2
解决办法
1833
查看次数

模板化赋值运算符:有效的C++?

只是一个快速而简单的问题,但在任何文档中都找不到它.

template <class T>
T* Some_Class<T>::Some_Static_Variable = NULL;
Run Code Online (Sandbox Code Playgroud)

它用g ++编译,但我不确定这是否有效.是吗?

c++ static templates class variable-assignment

0
推荐指数
1
解决办法
1529
查看次数

Informix的未来

我正在研究一个与Informix一起运行的系统,因此我开始学习越来越多关于Informix的知识.我正在考虑学习并获得Informix认证.

你觉得Informix有未来吗?或者我应该尝试更多地了解Oracle或MySQL或其他一些流行的数据库系统?

informix

3
推荐指数
1
解决办法
1450
查看次数

从VS 2005切换到VS 2008,但坚持.Net 2.0,我应该吗?

我目前正在使用VS 2005,因为我维护的大多数程序都是为.Net 2.0编写的,我有一个需要.Net 3.5的新程序,如果我切换到VS 2008,我可以这样做,而我的.Net没有任何问题2.0程序?我应该注意什么?

PS我主要使用Winform应用程序,如果这有任何区别.

谢谢

visual-studio-2008

1
推荐指数
1
解决办法
219
查看次数

NSURLConnection,NSURLRequest和远程缓存

我在iPhone上使用NSURLConnection异步连接进行请求缓存时遇到了一个小问题.我不知道我是否理解错误的东西,或者Cocoa是否与它应该做的相反...

NSURLRequest的文档说:

NSURLRequestReloadIgnoringLocalCacheData

指定应从原始源加载URL加载的数据.不应使用现有的缓存数据来满足URL加载请求.

和:

NSURLRequestReloadIgnoringLocalAndRemoteCacheData

指定不仅应忽略本地缓存数据,而且应指示代理和其他中间人在协议允许的情况下忽略其缓存.

现在,如果我使用NSURLRequestReloadIgnoringLocalCacheData(它应该忽略本地缓存,但使用远程缓存,如果可用)发送NSURLRequest,则发送的标头是:

GET /dashboard HTTP/1.1
User-Agent: XBlip1.0 CFNetwork/422.15.2 Darwin/9.6.0 (i386) (iMac8%2C1)
X-Blip-Api: 0.02
Accept: application/json
Authorization: Basic (...)
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: api.blip.pl

状态是200 OK.但是,如果我使用NSURLRequestReloadIgnoringLocalAndRemoteCacheData,它应该忽略本地和远程缓存,顾名思义,添加了一个额外的标头:

If-None-Match: "d751713988987e9331980363e24189ce"

并且响应是304 Not Modified.我已经检查了HTTP RFC,并且对于"If-None-Match"它说:

如果任何实体标签与在该资源上对类似GET请求(没有If-None-Match标头)的响应中返回的实体的实体标签匹配,(...)则服务器不得执行请求的方法(...)相反,如果请求方法是GET或HEAD,服务器应该响应304(未修改)响应

因此,如果我使用NSURLRequestReloadIgnoringLocalAndRemoteCacheData而不是忽略远程缓存,Cocoa似乎明确告诉远程服务器它应该使用远程缓存,如果我使用NSURLRequestReloadIgnoringLocalCacheData,它不会添加该行,实际上远程缓存不是用过的.

那究竟发生了什么?我错过了什么,或者Cocoa设置了错误的标题?

iphone cocoa-touch http nsurlconnection

7
推荐指数
2
解决办法
8059
查看次数

无论顺序如何,都获取字符串列表的哈希值

我想编写一个函数GetHashCodeOfList(),它返回一个字符串列表的哈希码,而不管顺序如何.给定具有相同字符串的2个列表应返回相同的哈希码.

ArrayList list1 = new ArrayList()    
list1.Add("String1");
list1.Add("String2");
list1.Add("String3");    

ArrayList list2 = new ArrayList()    
list2.Add("String3");    
list2.Add("String2"); 
list2.Add("String1");

GetHashCodeOfList(list1) = GetHashCodeOfList(list2) //this should be equal.
Run Code Online (Sandbox Code Playgroud)

我有几点想法:

  1. 我可以先对列表进行排序,然后将排序后的列表合并为1个长字符串然后调用GetHashCode().然而,排序是一个缓慢的操作.

  2. 我可以在列表中获取每个字符串的哈希值(通过调用string.GetHashCode()),然后乘以所有哈希值并调用Mod UInt32.MaxValue.例如:"String1".GetHashCode() * "String2".GetHashCode * … MOD UInt32.MaxValue.但这会导致数字溢出.

有人有想法吗?

在此先感谢您的帮助.

.net c# vb.net string hash

62
推荐指数
2
解决办法
2万
查看次数