小编Tor*_*bio的帖子

在Delphi中通过其内存地址调用可变参数C函数

假设我在C++中有一个函数,我在其中使用指向其内存地址的指针来调用它typedef.现在,我怎样才能在Delphi中做同样的事情?

例如:

typedef void (*function_t)(char *format, ...);
function_t Function;
Function = (function_t)0x00477123;
Run Code Online (Sandbox Code Playgroud)

然后,我可以用:Function("string", etc);.

在Delphi中,有没有办法在不使用汇编指令的情况下执行此操作?

请注意,它是一个可变参数函数.

delphi typedef variadic-functions memory-address

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

加载共享库时出错:libsystemc-2.3.0.so

我是Linux的新用户,我正在尝试systemc-2.3.0在计算机上安装库(Fedora 16)。我已经非常仔细地遵循了库的INSTALL文件中提到的所有说明,但是当我尝试使用ECLIPSE运行简单程序时遇到错误。我已经正确链接了ECLIPSE中的所有库,但是仍然出现错误。

该程序如下:

#include <systemc.h>

using namespace std;

int sc_main(int argc, char * argv[])
{
    cout << "hello world" << endl;

    for(int i=0; i<argc; i++)
        cout << argv[i] << " ";

    cout << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误输出为:

/ home / vivek / workspace / TestSystemC / Debug / TestSystemC:加载共享库时出错:libsystemc-2.3.0.so:无法打开共享库文件:没有此类文件或目录

任何帮助将不胜感激。由于我不是Linux专家,请以详尽的方式(逐步)解释您的建议。

谢谢。

c++ eclipse systemc

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

(*ptr)[10]是什么意思?

void main()
{
    int (*d)[10];
    d[0] = 7;
    d[1]=10;
    printf("%d\n",*d);
}
Run Code Online (Sandbox Code Playgroud)

它应该打印10但编译器显示如下错误:

test.c:4:7:错误:从类型'int'分配类型'int [10]'时出现不兼容的类型

请注意,我已经包含了一些错误,而不是全部.

c arrays pointers

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

将for循环转换为while循环

我是Python的新手,我需要将for循环转换为while循环,我不知道该怎么做.这就是我正在使用的:

def scrollList(myList):
      negativeIndices = []
      for i in range(0,len(myList)):
            if myList[i] < 0:
                 negativeIndices.append(i)
      return negativeIndices
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

无法使用 Node.js Server 和 Three.js 加载文件(3D 模型)的文件路径

我在使用本地主机 Node.js 测试服务器和 Three.js 库从计算机上的文件夹加载 3D 模型时遇到困难。

app.js:(我使用:命令在项目目录中通过命令行运行它node app.js

var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);
var THREE = require('three');

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/index.html');
});
io.on('connection', (socket) => {
  console.log('a user connected');
});

http.listen(3000, () => {
  console.log('listening on *:3000');
});
Run Code Online (Sandbox Code Playgroud)

index.html 的相关部分:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Index.html title</title>

</head>

<body>
    
<script src="/socket.io/socket.io.js"></script> 
<script src="//threejs.org/build/three.js"></script> 
<script src="//threejs.org/examples/js/loaders/AMFLoader.js"></script>
<script src="//threejs.org/examples/js/controls/OrbitControls.js"></script>

<script>
    
    var socket = io();
    
    var camera, scene, …
Run Code Online (Sandbox Code Playgroud)

html javascript express three.js

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

"新的Classname*[]"是什么意思?

我有一节课:

class WorkerThread
{
public:
    unsigned virtual run()
    {
        return 0;
    }
};
Run Code Online (Sandbox Code Playgroud)

在标题中定义.现在在另一个类中,我创建了一个这种类型的对象:

WorkerThread **workerQueue;
Run Code Online (Sandbox Code Playgroud)

这实际上是一个指向指针的指针......好吧,直到现在都很好.
现在,我该怎么读这个:

workerQueue = new WorkerThread*[maxThreads];
Run Code Online (Sandbox Code Playgroud)

*ClassName(WorkerThread)和数组格式之后是什么意思?

c++ arrays pointers

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