小编Pet*_*ang的帖子

let,eval和quote的行为

我试图了解其行为let.为什么case2会给我一个错误?

;; case1: worked fine.
(let ((NF 5)) NF)
5

;; case2: got an error
(let ((NF 5)) (eval 'NF))
error: The variable NF is unbound
Run Code Online (Sandbox Code Playgroud)

lisp common-lisp

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

用于低延迟网页游戏的HTTP或Websocket?

我是网络开发的新手,我只是想知道一些性能比较.

我正在网上建立一个俄罗斯方块战斗游戏.大多数游戏逻辑都在服务器内部,该服务器是用C++构建的.对于客户,我打算使用cocos2d-js,这基本上是javascript.

玩家的行为会影响对手.首先,用户的输入需要正确到达服务器,服务器将输入应用于逻辑,并将新的游戏状态发送回客户端.客户端只需要在屏幕上表示精灵.

我最初的计划是使用TCP套接字实现它,因为它可能需要低延迟.但是,我刚刚意识到我们不在网络上使用TCP套接字.

在这种应用程序中使用HTTP连接是否可行?我应该试试网络套接字吗?优缺点都有什么?

javascript tcp http websocket

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

在visual studio中使用linux头文件

我试图在visual studio 2013上使用linux内核头文件.我想这样做是为了自动完成目的.

我注意到,文件stdio.h是C里面:\ Program Files文件\的Visual Studio 12.0\VC\CRT\SRC,所以我复制我的Linux文件夹,其中包含内核头文件,进入src文件夹.但是,Visual Studio似乎没有找到这些头文件.

例如: #include <linux/kernel.h>

它说错误:无法打开源文件"linux/kernel.h"

我试图将所有斜杠字符更改为反斜杠,但是,它不能解决问题.如果我想让visual studio知道这个头文件是否存在,我该怎么办?

我知道我可以将kernel.h移动到我当前的文件夹并使用 #include "kernel.h"

但是,我想将系统头文件保存在我的计算机中,并#include <linux/kernel.h>在需要时使用.

c visual-studio-2013

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

Java导入子子目录

我的目录结构如下所示:

folder
????subfolder
    ????subsubfolder
Run Code Online (Sandbox Code Playgroud)

我有一个Main.java folderMain.java使用里面的类subsubfolder.我是这样做的:

import subfolder.*;
import subfolder.subsubfolder.*;
Run Code Online (Sandbox Code Playgroud)

但是,当我执行时,我收到了消息 javac Main.java

$ javac -g Main.java
Main.java:23: error: cannot access Node
      Node root = new Node();
      ^
  bad class file: ./subfolder/subsubfolder/Node.class
    class file contains wrong class: subsubfolder.Node
    Please remove or make sure it appears in the correct subdirectory of the classpath.
1 error
Run Code Online (Sandbox Code Playgroud)

我导入类文件的方式有误吗?

java

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

C++ 具有函数的结构体的大小

结果说12
该函数foobar存储在内存中的什么位置?

#include <iostream>
using namespace std;
struct ABC_ {
    int a;
    int b;
    int c;
    int foobar(int a) {
        return a;
    }
};
int main() {
    ABC_ ABC;
    cout << sizeof ABC;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ struct sizeof

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

字符串的内部表示

在我的理解中,lisp中的所有东西都是原子或一对.

字符串被视为原子吗?

如果字符串只是字符序列或字符串,lisp编译器如何知道?

是什么区别foo,'foo"foo"带来什么影响?

common-lisp

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

SBCL - 在开始时禁用包锁

如何在开始时禁用包锁?
我试图把(sb-ext:disable-package-locks sb-alien).sbclrc,
但是,它似乎并不奏效.

lisp sbcl common-lisp

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

Ocaml插入排序

输入:未排序列表/输出:排序列表

我的基本想法是在排序列表中插入一个整数.

(如果我可以将第一个元素插入到排序的尾部,我可以对列表进行排序.)

我使用了"insert",这是helper的功能.

然而,它会溢出.Couuld有谁告诉我这是什么问题?

let rec sort (l: int list) : int list =
    match l with
        []->[]
      | x::[]->[x]
      | x1::x2::xs->let rec insert (n,dest) =
                            match dest with
                                []->[n]
                              | y::[]-> if n<y then [n;y] else [y;n]
                              | y1::y2::ys-> if y1<y2 then n::dest else y2::insert(y1,xs)
                    in insert(x1,sort(x2::xs)) ;;
Run Code Online (Sandbox Code Playgroud)

ocaml

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

使用*格式了解printf函数

char **w = c->u.word;
printf ("%*s%s", indent, "", *w);
Run Code Online (Sandbox Code Playgroud)

好的,目前,作为字符串值*w保存"true".
我访问它没有问题.
indent是整数值,即2.

首先,我不明白printf函数在这种情况下是如何工作的.看起来它有四个参数.其次,我预计输出为"真实",但我什么也没得到.它为什么会这样?

c

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

java中后增量的行为

我知道这是一个愚蠢的例子,但我确实想知道它是如何工作的.
通常,后增量给出旧值并在之后将变量加1.

int a = 1;
a = a++;
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)

在第3行,它打印出"1".为什么保持不变?

根据我的理解,在第2行,右侧为变量a分配1.

后增量"++"将1加1.不应该是2而不是1吗?

java

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

标签 统计

common-lisp ×3

c ×2

java ×2

lisp ×2

c++ ×1

http ×1

javascript ×1

ocaml ×1

sbcl ×1

sizeof ×1

struct ×1

tcp ×1

visual-studio-2013 ×1

websocket ×1