小编kra*_*mir的帖子

opengl游戏开发中的Mono c#vs c ++?

对于使用主平台linux的opengl游戏,哪种语言更好?如果你在性能和库支持方面比较它们,我想.

c++ linux opengl mono language-comparisons

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

C++ std :: ifstream读取字符串分隔符

使用时:

string s;
cin >> s;
Run Code Online (Sandbox Code Playgroud)

哪些字符可以包含字符串以及哪些字符将停止读取字符串.

c++ string ifstream c++-standard-library

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

是否有漂亮的单线程分裂成类型转换的变量?

我使用以下代码:

x,y = line.split()
x,y = float(x),float(y)
Run Code Online (Sandbox Code Playgroud)

有没有办法将代码美化为一行?

python

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

创建动态大小数组的位置在哪里?(堆栈或堆)

例如,我有一个基于用户输入的动态大小的数组:

int n;
cin >> n;
int items[n];
Run Code Online (Sandbox Code Playgroud)

这个数组是在堆栈上分配的吗?或者它是否在堆上,如果我写了:

int n, *items;
cin >> n;
items = new int[n];
...
delete [] items;
Run Code Online (Sandbox Code Playgroud)

编辑:我理解第二个代码的作用.我问的是第一个代码是否与第二个代码完全相同,但行数较少.

c++ memory arrays allocation

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

如何显示系统时间?

我想在我的jsp页面上显示系统时间.我该怎么做?我正在尝试这个,但只显示日期,而不是时间.它在Internet Explorer中工作正常,但在其他浏览器中却没有.

  <td colspan="1" height="4" align="left" width="260" >
       <font class="welcome1">
            <strong>
                <script language="JavaScript" src="js/date.js"></script>
                <span id="clock">
                    <script language="JavaScript" 
                                            src="js/digitalClock.js"></script>
                </span>
            </strong>
       </font>
 </td>
Run Code Online (Sandbox Code Playgroud)

html javascript

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

如何在分区间隔中获取值所属的分区?

我有间隔,分区为大量较小的分区.

没有任何空格也没有任何重叠的间隔.

例如:(0;600)分为:

  1. (0;10>
  2. (10;25>
  3. (25;100>
  4. (100;125>
  5. (125;550>
  6. (550;600)

现在我有大量的值,我需要获得每个值的分区ID.我可以存储将此区间划分为更小间隔的值数组.但是如果所有值都属于最后一个分区,那么它需要通过整个数组.

所以我正在寻找存储这些间隔的更好的解决方案.我想简单 - 最大cca 150行长度算法,我不想使用除std之外的任何库.

c++ std

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

可以使用模板参数作为字符串吗?

我想使用传递的模板参数作为字符串.可能吗?

T是类,我需要更改以使代码工作?

void registerClass(const std::string &name, Handler *handler);

template<class T>
void registerClass() {
   registerClass( "get T as string", new DefaultHandler<T>());
}
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

如何使 POSIX/Linux 信号处理安全?

我刚刚使用 GNU 异步 I/O 和信号实现了异步文件读取。我使用带有回调处理程序(SIGUSR1 目标)的信号处理结果:

static
void aioSigHandler(int sig, siginfo_t *si, void *ucontext)
{
    struct aioRequest *request = si->si_value.sival_ptr;
    int bytes_read = aio_return(request->aiocbp);

    printf("I/O completion signal received %d: %.*s\n", bytes_read, bytes_read, request->aiocbp->aio_buf);

    // continue reading if whole buffer was filled
    if(bytes_read == BUF_SIZE) {
        request->aiocbp->aio_offset += bytes_read;

        if (aio_read(request->aiocbp) == -1)
            errExit("aio_read");
    } else {
        request->finished = 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道如果有人将 SIGUSR1 发送到我的进程会发生什么。显然它不会siginfo_t *si填充我的结构实例,因此我读取了垃圾,幸运的是程序会立即以段错误结束。在糟糕的情况下,其他一些数据会被破坏,并且不会检测到错误。我该如何防范?

完整来源:

#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
#include <aio.h>
#include <signal.h> …
Run Code Online (Sandbox Code Playgroud)

c linux posix signals

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

怎么能自动完成?

有没有办法自动为所有派生类执行此操作,我不必为所有嵌套类创建函数applyPack.

这是我的代码:

/** every class has registered id with this function */
template<typename T>
uint getID() {
    static uint id = registerClass<T>();
    return id;
}

class TemplatesPack {
public:
    template<typename T>
    typename T::Template get();
};

class Object {
public:
    virtual void applyPack(TemplatesPack *p) { this->setTemplate(p->get<Object>()); };
};

class Object2: public Object {
public:
    void applyPack(TemplatesPack *p) { this->setTemplate(p->get<Object2>()); };
};

class Object3: public Object  {
public:
    void applyPack(TemplatesPack *p) { this->setTemplate(p->get<Object3>()); };
};

class Object4: public Object2 {
public:
    void …
Run Code Online (Sandbox Code Playgroud)

c++ templates c++11

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

从Python中的数组字典的Oneline填充

我需要从数组中填充字典.我已经完成了三行,我试图尽可能做到最短.有没有办法如何在一行填充它?

a = [['test',154],['test2',256]]
d = dict()
for b in a:
    d[b[0]] = b[1]
Run Code Online (Sandbox Code Playgroud)

python

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

如何在x64中创建thunk?

我找到了很好的示例如何为闭包创建thunk,但它是32位版本:

#include <stdio.h>
#include <stdlib.h>
#include <sys/mman.h>

struct env {
  int x;
};

struct __attribute__((packed)) thunk {
  unsigned char push;
  struct env * env_addr;
  unsigned char call;
  signed long call_offset;
  unsigned char add_esp[3];
  unsigned char ret;
};

struct thunk default_thunk = {0x68, 0, 0xe8, 0, {0x83, 0xc4, 0x04}, 0xc3};

typedef void (* cfunc)();

struct thunk * make_thunk(struct env * env, void * code)
{
  struct thunk * thunk = (struct thunk *)mmap(0,sizeof(struct thunk), PROT_WRITE | PROT_EXEC, MAP_PRIVATE | …
Run Code Online (Sandbox Code Playgroud)

linux assembly gcc x86-64 32bit-64bit

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