问题列表 - 第20408页

将十六进制数传递给函数

gcc 4.4.2 c89

我在API头文件中有这些定义.

/* Reason for releasing call */
#define UNASSIGNED_NUMBER      0x01  /* Number unassigned / unallocated */
#define NORMAL_CLEARING        0x10  /* Call dropped under normal conditions*/
#define CHANNEL_UNACCEPTABLE   0x06
#define USER_BUSY              0x11  /* End user is busy */
.
.
.
Run Code Online (Sandbox Code Playgroud)

但是,我想将一个传递给一个函数,但我不确定该类型.我可以传递一个整数值?release_call函数将其中一个作为参数.但是,我不确定定义是否定义为十六进制表示法.

drop_and_release_call(23, 6); /* Dropping call for CHANNEL_UNACCEPTABLE */


uint32_t drop_and_release_call(uint32_t port_num, uint32_t reason)
{
    release_call(port_num, reason);
}
Run Code Online (Sandbox Code Playgroud)

非常感谢任何建议,

c

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

之前没有访问的访问冲突

我是P/如图所示调用Graphviz .当我写这篇博客文章时,代码运行得很好.现在,我把在一起的HttpModule呈现使用代码Graphviz的图形,但我得到了AccessViolationExceptionagmemread.

// Native signature
Agraph_t agmemread(char *);

// P/Invoke Signature
[DllImport(LIB_GRAPH)]
private static extern IntPtr agmemread(string data);

// Usage
IntPtr g = agmemread(data);
Run Code Online (Sandbox Code Playgroud)

就像我说的,这之前完美无缺.但现在,我无法让我的代码适用于任何事情.即使我基于相同代码的旧Graphviz应用程序也不再起作用.

我可能有什么改变会导致这种情况?我甚至没有下载新版本的Graphviz或任何东西,所以DLL都是一样的.

编辑:我尝试string改为StringBuilder,但产生了相同的结果.然后,我添加了一个MarshalAs属性:

static extern IntPtr agmemread([MarshalAs(UnmanagedType.LPWStr)] string data);
Run Code Online (Sandbox Code Playgroud)

有了它,我不再得到一个AccessViolationException,但Graphviz无法正确读取字符串并返回空指针.

.net c# pinvoke graphviz access-violation

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

存在什么C GNU-isms?

我最近将一个项目从GCC移植到clang(其中我修复了一些C GNU-isms).这让我想到:什么是C GNU-isms(GCC支持的C语言的扩展,哪些不是标准化的)存在?在任何地方都有完整的清单吗?

c gcc language-extension

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

从字符串而不是从文件加载模板

我决定在数据库中保存所有系统电子邮件的模板.这些电子邮件的正文是普通的django模板(带标签).

这意味着我需要模板引擎从字符串而不是从文件加载模板.有没有办法实现这个目标?

django-templates

34
推荐指数
3
解决办法
8800
查看次数

`require`和`gem`有什么区别

require 'cool_lib'和之间有什么区别gem 'cool_lib'

ruby rubygems

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

C++虚函数调用与boost :: function调用speedwise

我想知道与一个相同的boost :: function调用相比,单继承虚函数调用的速度有多快.它们的性能几乎相同,还是boost :: function慢?

我知道性能可能因情况而异,但是,作为一般规则,哪个更快,哪个程度如此之大?

谢谢,Guilherme

- 编辑

KennyTM的测试对我来说足够令人信服.对于我自己的目的,boost :: function似乎并不比vcall慢得多.谢谢.

c++ performance virtual-functions boost-function

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

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

如果在浏览器中禁用cookie,如何显示消息?

如果在浏览器中禁用cookie,如何显示消息?像http://stackoverflow.com一样显示JavaScript是否被禁用.

html javascript cookies xhtml

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

被称为纯虚方法

编辑:已解决

我现在正在开发一个多线程项目,我有一个基础工作者类,具有从中继承的不同工作类.在运行时,工作类成为线程,然后根据需要执行工作.

现在,我有一个我写过的Director,它应该维护一个指向所有worker的指针数组,以便它可以从中检索信息,以及稍后修改它们中的变量.

我通过创建指向基类指针的指针来完成此操作:

baseWorkerClass** workerPtrArray;
Run Code Online (Sandbox Code Playgroud)

然后在Director的构造函数中,我动态地为基础worker类分配一个指针数组:

workerPtrArray = new baseWorkerClass*[numWorkers];
Run Code Online (Sandbox Code Playgroud)

在每个工作线程的构造函数中,worker调用director中的一个函数,该函数用于将该worker的指针存储在数组中.

以下是导演存储指针的方式:

Director::manageWorker(baseWorkerClass* worker)
{
    workerPtrArray[worker->getThreadID()] = worker;
}
Run Code Online (Sandbox Code Playgroud)

以下是工人变体的示例.每个worker都继承自基类worker类,而base worker类包含纯虚函数,这些函数应该存在于所有worker变量中,以及一些在所有worker之间共享的变量.

class workerVariant : protected baseWorkerClass
{
    public:

    workerVariant(int id)
    : id(id)
    {
        Director::manageWorker(this);
    }

    ~workerVariant()
    {
    }

    int getThreadID()
    {
        return id;
    }

    int getSomeVariable()
    {
        return someVariable;
    }

    protected:

    int id;
    int someVariable
};
Run Code Online (Sandbox Code Playgroud)

然后baseWorkerClass看起来像这样:

class baseWorkerClass
{
public:

    baseWorkerClass()
    {
    }

    ~baseWorkerClass()
    {
    }

    virtual int getThreadID() = 0;
    virtual int getSomeVariable() = 0;
};
Run Code Online (Sandbox Code Playgroud)

在每个worker变量完成初始化之后,我应该得到一个指向baseWorkerClass对象的指针数组.这意味着我应该能够,例如,使用其ID作为数组的索引来获取某个工作中给定变量的值,如下所示: …

c++ inheritance multithreading pure-virtual

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

1000位数字中连续五位数的最佳乘积

我正在解决项目欧拉的问题,如果我对问题的理解是正确的,我不太确定.

问题8如下:

找到1000位数字中连续五位数的最佳乘积.

我这意味着以下内容:

我需要找到连续运行在1000位数字中的任意五个数字,然后将它们相加以获得总数.我假设数字的大小可以是任何数字,即1,2,3或12,13,14或123,124,124或1234,1235,1236等.

我对此的理解是正确的,还是我误解了这个问题?

注意:请不要提供我需要自己解决的代码或解决方案.

language-agnostic

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