小编aib*_*aib的帖子

确定表达式的类型

有时我需要在用C或C++编程时学习表达式的类型.有时会有一个好的IDE或现有的文档来帮助我,但有时候没有.我经常觉得这样的结构可能有用:

void (*myFunc)(int);
printf("%s", nameoftype(myFunc)); //"void (*)(int)"
int i, unsigned int u;
printf("%s", nameoftype(i+u));    //"unsigned int"
Run Code Online (Sandbox Code Playgroud)

对于C++来说尤其如此; 认为const对象的访问器 - 它们是返回const引用还是副本?想想动态演员表和模板化课程.

我怎样才能做到这一点?(即学习表达的类型)

我使用GCC但据我所知,它没有这样的扩展.所以我想我很好奇人们如何解决这个问题.(欢迎编译时和运行时解决方案.)

c c++

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

ActionScript 3.0套接字无法重新连接

在连接超时后,我无法连接(通过Socket和XMLSocket类)到TCP侦听器.

我有一个需要维护与服务器的TCP连接的Flash小程序.我使用Timers,乒乓球系统等实现了超时.但是,有一个问题.在调用Socket.connect()时,flash播放器(9.0.115和之前的许多其他稳定器)通过SYN数据包发送3个连接请求,其间有一段时间.如果没有回复(例如因为服务器已关闭),我无法让applet [尝试]连接到服务器.永远.也就是说,在applet的生命周期内.

澄清和/或总结:

对于给定的对Socket.connect()或XMLSocket.connect()的任何主机/端口对,如果呼叫失败,任何后续connect()调用到任何其他插槽(或的XMLSocket)实例的闪光小应用程序的生命周期内,以相同的主机/端口对被忽略.(至少据我所知,使用数据包嗅探器.)

我试过调用大量的Socket方法,破坏¹并重新创建对象,使用套接字池,以及我现在还记不住的各种其他方法; 一切都无济于事.

我目前的解决方案是通过JavaScript调用通知父网页,让它重新加载我的applet.这不是一个漂亮的解决方案,我不打算为引起的问题实现变通方法,因为Flash无法正确处理套接字连接.

我必须错过一些非常简单的事情.

有任何想法吗?

1:我知道你不能真正摧毁物体; 我只是删除所有对它们的引用并希望最好.在这种情况下,我没有尝试显式调用GC.(虽然我认为我确实尝试将Socket放在数组中并使用delete.)


是的,如果连接成功,它将按预期工作(即使连接稍后丢失.)

触发此事件的唯一事件是服务器根本没有响应的情况; 就像Flash将主机/端口组合标记为"离线"一样,并且在applet的生命周期内不会再向其发送任何数据包.

我怀疑主动拒绝连接(例如主机在线但没有收听端口)不会导致这种情况.

我从Socket中得不到任何错误消息或任何其他类型的反馈.

你有没有多次调用connect()到同一个主机/端口对,当第一个失败时?你怎么知道第一个connect()失败了?在后续的connect()调用之前,你做了什么来重置套接字?

sockets flash xmlsocket actionscript-3

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

在Flex/AS3中,如何使用getDefinitionByName获取嵌入式资产的类定义

我有一个有很多嵌入式资产的课程.

在类中,我想按名称获取资产的类定义.我尝试过使用getDefinitionByName()和ApplicationDomain.currentDomain.getDefinition()但是都不行.

例:

public class MyClass
{
  [Embed(source="images/image1.png")] private static var Image1Class:Class;
  [Embed(source="images/image2.png")] private static var Image2Class:Class;
  [Embed(source="images/image3.png")] private static var Image3Class:Class;

  private var _image:Bitmap;

  public function MyClass(name:String)
  {
    var ClassDef:Class = getDefinitionByName(name) as Class;  //<<-- Fails
    _image = new ClassDef() as Bitmap;    
  }
}

var cls:MyClass = new MyClass("Image1Class");
Run Code Online (Sandbox Code Playgroud)

apache-flex embed flash actionscript actionscript-3

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

预构建的AMQP和STOMP客户端(如GUI客户端)

我正在寻找一个客户端(如在GUI客户端,而不是客户端库)来使用我们的MQ服务器并熟悉它的语义.通过按下按钮(或文本命令)发送和接收消息的东西,甚至可以更新我关于服务器队列和消息的状态.行政将是一个奖金.UI不必是图形化的(即命令行客户端很好).

服务器可能会运行RabbitMQ,因此任何RabbitMQ特定的都可以,ActiveMQ也是如此.但我宁愿拥有通用的AMQP或STOMP工具.

那么,这种类型的存在吗?

我知道一些管理和监视工具都带有两个服务器发行版,但没有客户端,对吧?

activemq-classic stomp amqp rabbitmq

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

检测URL查询字符串编码

在请求URL上,我可以获取查询字符串?dir=Documents%20partag%C3%A9s?dir=Documents%20partag%E9s.我认为第一个是UTF-8,第二个是ASCII.

真正的字符串是: Documents partagés

所以,我有一个PHP脚本(UTF-8),我想要做的是检测查询字符串是ASCII还是UTF-8,如果是ASCII,则将其转换为UTF-8.

我尝试使用mb_函数,但查询字符串始终检测为ASCII,并将查询字符串的urldecode版本检测为UTF-8.

我怎样才能做到这一点?需要注意的是维基百科有一个类似的功能-它本身的编码%E9%C3%A9.

php ascii utf-8 character-encoding query-string

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

Windows中的语言环境列表

在*nix系统上,您可以locale -a获取可用语言环境列表.

Windows中的等效命令(或操作)是什么?

我在Internet上看过列表,但大多数都是区域设置标签,而不是实际的区域设置名称.此外,并非所有系统都保证安装所有系统,对吧?

请注意,我在这里对"locale"的定义是"locale string",即C的第二个参数setlocale(),它将导致非NULL返回值.

程序化答案也很好,我只是厌倦了蛮力猜测Windows语言环境名称.

c windows locale localization setlocale

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

如何在C中向左或向右旋转给定的字符串?

C函数将字符串向右或向左旋转给定数字.当角色根据方向旋转超过字符串的结尾或开头时,它应该环绕

c

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

在数字const之前预期','或'...'

我是C编程的新手,并试图找出遇到的一些问题.我写的时候

#define N 5

void Sort(int *const array,  int N);
Run Code Online (Sandbox Code Playgroud)

编译器在数字const之前给了我"预期','或'...'的消息".在互联网上搜索后发现问题可能被#define调试为数值.我确实没有使用#define作为常量N来完成编译器.但是,我想知道我应该如何修改上面两行以便我不会收到错误消息?

c c++

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

jQuery:有条件地执行没有"if"

如果使用if语句将包装的集合大小设置为0,jQuery或javascript中是否有一种方法可以忽略所有操作.

 menu.find('a[href="#add"]'). {code that should execute only if size()>0};
Run Code Online (Sandbox Code Playgroud)

我猜我通常不得不这样做

var m = menu.find('a[href="#add"]');

if m.size()>0 { do something }
Run Code Online (Sandbox Code Playgroud)

有没有更短的方法这样做?

编辑:完整代码

menu.find('a[href="#add"]').attr("href","#add-metaobject")[0].innerText = "Add Object";
Run Code Online (Sandbox Code Playgroud)

jquery

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

打开文件; 首先尝试文件系统,然后尝试JAR

我正在尝试让我的应用程序透明地加载资源(二进制文件):

如果该文件存在于当前目录下,请将其打开.
如果没有,请尝试查看当前的JAR文件(如果适用).
如果没有,请尝试查看其他JAR文件.(这是可选的,我不介意明确指定哪些J​​AR文件.)

到目前为止,我知道File哪个打开一个本地文件,ClassLoader哪个有getResource*JAR内容.

是否有一个结合了两者的课程?如果没有,我该如何自己写呢?我应该写一个ClassLoader也检查本地文件系统?用File?(我对Java非常熟悉,甚至不知道返回什么样的好类型.InputStream?)

谢谢

PS"文件"我的意思是"路径",例如"data/texture1.png".

java jar classpath classloader

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

粒子群优化算法

我在java中使用粒子群优化(PSO).我对我们的工作知之甚少.因为,我正在申请生物信息学中的多序列比对.

我们需要找到对齐这些序列的位置和速度.我需要有关PSO的详细解释和参考,以及计算PSO中速度和位置的需要.如果可能的话,我需要在java中解释PSO的简单示例.实际上,我需要了解它如何优化问题.

public class Position {
 private double x;
 private double y;

 public Position(double x, double y) {
 this.x = x;
 this.y = y;
 }

 public double getX() {
 return x;
 }

 public void setX(double x) {
 this.x = x;
 }

 public double getY() {
 return y;
 }

 public void setY(double y) {
 this.y = y;
 }
}
Run Code Online (Sandbox Code Playgroud)

这是用getter和setter表示粒子位置的类

同样明智的其他课程在这里

java numerical particle-swarm

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

使用fseek编辑文件

你可以帮我弄清楚我的代码中的问题..我想编辑一个特定的行.... thnx

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main (){
    char arr[50];
    char arr2[50];
    char arr3[50];     
    FILE *stream = NULL;
    FILE *stream2 = NULL;
    stream = fopen("studentinfo.txt", "rt");
    stream2 = fopen("studentinfo2.txt", "w+");
    char* token;
    char dlm[] = ",";

    printf("Enter student id: ");
    scanf("%s", arr2);
    printf("New student id: ");
    scanf("%s", arr3);
    while(!feof(stream)){
       fgets(arr,100,stream);
       fprintf(stream2,"%s",arr);
       token = strtok(arr,dlm);
       if(strcmp(arr2, token)==0){
       fseek ( stream2 , 0 , SEEK_CUR );
       fputs ( arr3 , stream2 );
       }
    }
    fclose ( stream2 );
    fclose ( stream ); …
Run Code Online (Sandbox Code Playgroud)

c fseek

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