小编w1r*_*res的帖子

静态函数是否需要C中原型的static关键字?

我的C编程书说当我想创建一个静态函数时,我需要将static关键字放在函数定义的前面.它没有明确提及原型.此外,这些示例不使用原型,只是将静态函数放在文件的顶部(这样它们就不需要我假设的原型).

那么,静态函数是否需要原型的static关键字?或者我把它放在定义的前面?

c static-functions

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

如何在Doxygen markdown中创建换行符?

我很难找到解释如何在Doxygen markdown中添加换行符的文档.

我尝试在行尾使用两个空格,我也尝试过单行或双行换行,但这些都不适用于我.

我正在使用Doxygen版本1.8.9.1.

doxygen doxywizard

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

如何解决在Android上通过Firefox打开PDF的问题?

我的网站上有一个pdf文件的链接。在Firefox或iOS上的内置pdf查看器中打开pdf时没有任何问题。

尝试通过在Android上的Firefox中单击链接来打开pdf时出现错误。单击链接后,Adobe Reader应用程序将打开并尝试下载pdf进行查看。然后我得到一个错误,并且pdf无法打开。Adobe Reader内部的错误只是说

错误。无法下载该文件。请将文件保存到本地存储,然后尝试打开它。

我该如何解决?我尝试在链接中使用绝对URL,从文件名中删除空格,但这些都不起作用。我还尝试使用其他程序创建pdf,以防问题出在pdf本身,而这没有帮助。我也尝试直接在浏览器网址中输入链接,然后发生同样的事情。

在这一点上,我不知道如何在没有某种调试信息的情况下进行故障排除。我在服务器上使用Apache。

apache firefox android adobe-reader

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

如何链接到:下载:Sphinx中的网络驱动器上的文件?

我正在为我们的一个硬件产品制作一些项目文档.该文档供内部使用,它位于网络驱动器上:

\\ourserver\projects\project1-doc

我们目前进行版本控制的方式,我们有一些像这样的文件夹:

\\ourserver\projects\project1-A
\\ourserver\projects\project1-B
\\ourserver\projects\project1-C
Run Code Online (Sandbox Code Playgroud)

我希望能够:download:从文档链接到其中一个文件夹中的pdf.有什么方法可以做到文件的绝对路径吗?我尝试了很多东西,例如:

:download:`schematic <file://///ourserver/projects/project1-C/schematic.pdf>`
:download:`schematic //ourserver/projects/project1-C/schematic.pdf>`
Run Code Online (Sandbox Code Playgroud)

但我无法与Sphinx合作.我该如何链接到这个文件?

restructuredtext hyperlink python-sphinx

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

如果定义在使用后出现,为什么XC16编译器会删除内联函数?

在XC16编译器的手册中,它说如下:

如果声明它们是静态的,并且函数定义在函数的所有使用之前,编译器将仅消除内联函数.

在foo.c的顶部,我声明了

 static inline void nop_10_times(void);
Run Code Online (Sandbox Code Playgroud)

然后在ISR的定义中定义为:

void _CNInterrupt(void)
{
    nop_10_times();

    // rest of function
}
Run Code Online (Sandbox Code Playgroud)

然后,作为测试,我将定义放在nop_10_times文件的底部.

static inline void nop_10_times(void)
{
    __builtin_nop();
    __builtin_nop();
    __builtin_nop();
    __builtin_nop();
    __builtin_nop();

    __builtin_nop();
    __builtin_nop();
    __builtin_nop();
    __builtin_nop();
    __builtin_nop();
}
Run Code Online (Sandbox Code Playgroud)

当我编译我的项目并查看程序集时,似乎编译器实际上能够完全删除程序集中的函数,并且只将内联代码保留在ISR中调用的位置.

有谁知道它是如何做到这一点的?根据手册中的定义,它表示如果"函数定义先于函数的所有使用",它将消除内联函数.

c embedded inline xc16

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

在C#中调用方法不引用在其他类的方法中初始化的对象

我有一个类,我声明一个对象,但不初始化该对象.然后我将对象传递给另一个类中的方法进行初始化.我期望发生的是调用类中的对象现在将具有对初始化对象的引用,但它是null.

这是我的意思的一个例子:

class MainClass
{
    ObjectA foo;

    OtherClass.InitializeObjectA(foo);

    // why is foo null over here?
}

class OtherClass
{
    public static void InitializeObjectA(ObjectA device)
    {
        device = new ObjectA();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我在调用InitializeObjectA()它之后尝试使用foo时仍然指向null!如果我改变InitializeObjectA()out ObjectA device它的工作原理.任何人都可以解释为什么需要它?

c# objectinstantiation

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

如何将十六进制字符串转换为ASCII值在C#中具有相同值的字符串?

假设我有一个包含十六进制值的字符串.例如:

string command "0xABCD1234";
Run Code Online (Sandbox Code Playgroud)

如何将该字符串转换为另一个字符串(例如string codedString = ...),以使这个新字符串的ASCII编码表示与原始字符串内容具有相同的二进制文件?

我需要这样做的原因是因为我有一个来自硬件制造商的库,它可以通过SPI将数据从他们的硬件传输到另一个硬件.它们的函数将字符串作为输入,但是当我尝试发送"AA"时,我期望SPI传输二进制10101010,而是传输AA的ascii表示,即0110000101100001.

此外,此十六进制字符串将长度为32个十六进制字符(即256位长).

c# string hex ascii

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

如何找到在C#中抛出的异常的异常类型?

我使用的库似乎没有记录异常.该库用于与公司生产的产品进行通信.我希望能够区分抛出的异常,但我不知道异常的名称(例如,在通信超时或欠压条件之间).

他们所有的例子都只使用catch(Exception ex).我怎样才能找到我需要用来捕捉个别错误的东西?当我这样做时,ex.toString()我得到这样的东西:

System.Exception: Timeout
    at CMLCOMLib.EcatObj.Initialize()
    at copley_cmo_test.MainWindow.btnConnect_Click(Object sender, RoutedEventArgs e)
in c:\Users\adam.siembida\Desktop\copley_cmo_test\copley_cmo_test\MainWindow.xaml.cs:line 41
Run Code Online (Sandbox Code Playgroud)

c# exception-handling

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