小编cod*_*ons的帖子

如何从内部类访问变量

 //MainClass.m 

 @interface InnerClass : NSObject{

 }
 @end

 @implementation InnerClass

 -(void)run{
      while(isActive){//want to access this variable which defined in MainClass
      //do something
      }
 }

 @end

 @interface MainClass : NSObject{
      BOOL isActive;
 }
 @end

 @implementation MainClass


 @end
Run Code Online (Sandbox Code Playgroud)

我有MainClass,它有一个内部类(InnerClass).我想从内部类访问MainClass类中定义的布尔类型变量(isActive).我想要做的是内部类将在一个单独的线程上运行,并将继续检查主类上的isActive变量,如果isActive为false,那么它将停止运行新线程..提前感谢...

objective-c

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

灵活的设计,以取代开关声明

我正在研究网络程序并使用C++设计Linux服务器.设计基本结构非常简单.我有一个数据包定义,其头部具有固定的大小.

typedef enum{
     PACKET_LOGIN_REQ = 1,
     PACKET_LOGIN_RES,
     PACKET_STORE_REQ,
     PACKET_STORE_RES
}PACKET_TYPES;

typedef struct {
     PACKET_TYPES type;
     short bodySize,
     long long deviceId
}HEADER;

.
.

/*more definitions here*/

typedef struct{
     HEADER head;
     union BODY{
          LOGIN_REQ loginReq;
          LOGIN_RES loginRes;
          .
          .
          more types
     }
}
Run Code Online (Sandbox Code Playgroud)

每当我添加更多数据包类型时,我都必须修改switch语句以添加更多情况来处理新添加的数据包.

我正在使用union类型,所以我不必更改整个数据包结构.相反,我可以将新添加的数据包类型添加到联合结构中.

但是,当我尝试使用switch语句解析原始数据以放入数据包时,我必须每次都添加每个switch语句.

我认为这不是一个好的设计模式,我想知道如何以更灵活的方式设计结构.

有没有更好的方法来处理这个问题(更好的设计模式)?相关的教程或参考怎么样?

c++ networking

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

为每个核心分配两个MPI进程

如何为每个核心分配2个MPI进程?

例如,如果我这样做,mpirun -np 4 ./application它应该使用2个物理核心来运行4个MPI进程(每个核心2个进程).我正在使用Open MPI 1.6.我做了mpirun -np 4 -nc 2 ./application但是无法运行它.

它抱怨 mpirun was unable to launch the specified application as it could not find an executable:

affinity hyperthreading openmpi

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

如何修改 HSQL 默认架构?

我正在使用 Hibernate 创建 HSQL 内存数据库。Hibernate 配置文件中的连接 URL 如下所示

<property name="connection.url">jdbc:hsqldb:mem:mock_db</property>
Run Code Online (Sandbox Code Playgroud)

架构的默认名称是Public. 假设我想将其更改为TEST 我已经尝试过但它没有更改架构的名称。

<property name="hibernate.default_schema">TEST</property>
Run Code Online (Sandbox Code Playgroud)

你们知道我怎么能做到这一点吗?如果我可以在休眠配置文件中执行此操作会很方便。

预先感谢。

hibernate hsqldb

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

从DynamoDB中删除具有相同分区键的大数据

我有这样的DynamoDB表结构

A   B    C    D
1   id1  foo hi
1   id2  var hello
Run Code Online (Sandbox Code Playgroud)

A是分区键,B是排序键。

假设我只有分区键,不知道排序键,我想删除所有具有相同分区键的条目。

因此,我正在考虑通过查询以固定大小(例如1000)加载条目,并批量删除它们,直到DynamoDB中不再有带有分区键的条目为止。

是否可以删除条目而不先加载它们?

delete-operator amazon-dynamodb

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

如何在我的服务器上运行python脚本?

我有一个由Blueshot托管的服务器.我一直在使用php从iPhone获取发布变量......但是现在我必须使用python从iPhone获取post变量.我写了这样的东西

import cgi
import cgitb; cgitb.enable()  # for troubleshooting

print "Content-type: text/html"
print

print """
<html>

<head><title>Sample CGI Script</title></head>

<body>

  <h3> Sample CGI Script </h3>
"""

form = cgi.FieldStorage()
message = form.getvalue("message", "(no message)")

print """

  <p>Previous message: %s</p>

  <p>form

  <form method="post" action="index.cgi">
    <p>message: <input type="text" name="message"/></p>
  </form>

</body>

</html>
""" % message
Run Code Online (Sandbox Code Playgroud)

并上传到我的服务器,但它不起作用...如果我导航到页面然后它只显示源代码..我不知道我的服务器上是否安装了python(我相信python可能已安装默认情况下)..如何检查python是否可以在我的服务器上运行,如果不能,我怎样才能在我的服务器上运行python脚本?我想做的就是从iPhone获取POST变量(我知道如何从iPhone发送变量)在此先感谢...

python

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

ld:重复的符号

我有rand.cpp和rand.hpp文件,并有rand_unif()函数.我在sim_engine.hpp文件中包含了rand.hpp文件.

在main.cpp文件中,我已经包含了sim_engine.hpp文件.如果我运行makefile然后我收到此错误

ld: duplicate symbol rand_unif()    in sim_engine.o and main.o for architecture x86_64
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

sim_engine.hpp是唯一包含rand.hpp的地方.main.cpp不包括rand.hpp而是sim_engine.hpp.

我不明白为什么我得到重复的符号错误.

#mod_simu.make project makefile

mod_simu : main.o rand.o graph.o street.o isection.o vehicle.o event.o FEL.o sim_engine.o clock.o
    g++ -o mod_simu main.o rand.o graph.o street.o isection.o vehicle.o event.o FEL.o sim_engine.o clock.o

main.o : main.cpp   
    g++ -c main.cpp

rand.o : rand.cpp
    g++ -c rand.cpp

graph.o : graph.cpp graph.hpp street.hpp isection.hpp
    g++ -c graph.cpp

street.o : street.cpp street.hpp
    g++ -c street.cpp

isection.o : isection.cpp …
Run Code Online (Sandbox Code Playgroud)

c++ makefile

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

Java:如何从String创建类的列表

我想从字符串创建一个类型名称的列表.例如,

String nameOfClass = "com.my.list.class";
List list = new ArrayList<nameOfclass>();
Run Code Online (Sandbox Code Playgroud)

我只知道在运行时以文本格式插入List的类的类型.

这可能吗?

java reflection class

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

从Base64编码的字符串中检索MIME类型

让我们说一个用Base64 String编码并提供给我的文件(例如myfile.jpeg)。我无法知道文件类型是什么。我想将字符串解码为文件(此示例中为图像)。我怎么知道文件的类型(例如jpeg)?

java base64 mime

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

DynamoDB Stream 中序处理

假设我有以下带有条目的 DynamoDB 表:

ABC // 列

a1 b1 c1 // 条目 1

a1 b2 c2 // 条目 2

A是键(分区键),B是排序键(唯一),C是属性。

我想确保 DynamoDB 流可以保证 B 的有序处理。

如果按此顺序进行更改 - (注 C 更新了 3 次)

{a1, b1, c1} => {a1, b1, c2} => {a1, b1, c3}

DynamoDB Stream 能否保证排序?看起来可以保证对同一密钥的更新进行有序处理。对于此示例,那么将保留对 a1(键)的任何更新顺序?

amazon-dynamodb

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