小编oll*_*llo的帖子

为什么MinGW将Win API函数定义为宏?

我想知道为什么这么多的Win API函数只定义了它们在MinGW中的实际实现.

例:

MessageBox()功能如MSDN文档中所述:

int WINAPI MessageBox(
  _In_opt_  HWND hWnd,
  _In_opt_  LPCTSTR lpText,
  _In_opt_  LPCTSTR lpCaption,
  _In_      UINT uType
);
Run Code Online (Sandbox Code Playgroud)

这是MinGW(winuser.h)的实现:

#define MessageBox MessageBoxA
/* ... */
WINUSERAPI int WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
Run Code Online (Sandbox Code Playgroud)

所以MessageBox不是一个函数,它只是一个真正函数的定义.

另一个(取自winbase.h:

#define GetVersionEx GetVersionExA
/* ... */
WINBASEAPI BOOL WINAPI GetVersionExA(LPOSVERSIONINFOA);
Run Code Online (Sandbox Code Playgroud)

正如您在大多数情况下所看到的,函数是作为实际实现的宏实现的.

这样做有什么理由吗?为什么它们没有被实现为"真正的"功能(使用它们的真实姓名)?

c c++ winapi mingw

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

有关在OS X 10.8 Mountain Lion上使用Netbeans 7.2启动和运行cppunit的分步说明

有人可以提供一步一步的说明,让cppunit在OS X 10.8 Mountain Lion上工作吗?这包括所需的任何下载和Netbeans的任何配置.

目前,当我添加一个cppunit测试时,Add Test对话框中会出现一条警告:"未检测到cppunit库.测试编译可能会失败." 我从Sourceforge和svn cppunit下载并将文件复制到/ usr/local/include,但这不会使编译错误消失.

我错过了什么?Google™对此问题毫无帮助.

netbeans cppunit osx-mountain-lion netbeans-7.2

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

为什么原始类型具有"类"以及它如何用于使用?

谈到Java(7),你可以得到一个像这样的原始类的类:

Class classOfInt = int.class
Run Code Online (Sandbox Code Playgroud)

对于每一个,您将获得一个名为基本类型的"类":

int.class    --> int
byte.class   --> byte
double.class --> double
...
Run Code Online (Sandbox Code Playgroud)

但是,您无法创建这些实例:

char.class.newInstance(); // throws 'InstantiationException'
Run Code Online (Sandbox Code Playgroud)

看来,他们班没有被映射到相应的包装类(Integer,Byte,等).

那么为什么他们有"课程",他们如何使用以及如何实施?

java types

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

C#反序列化动态JSON

我有以下需要反序列化的Json字符串.

{"123456789":
  {"short_description":"Delivered",
     "detail_description":"Your item has been delivered"
   }
}
Run Code Online (Sandbox Code Playgroud)

第一个字段"123456789"是一个id号,所以基本上这个值可能会有所不同,具体取决于被查询的数据.

我在visual studio中使用C#.显然因为第一个字段的值可以改变,所以我不能使用预定义的类来反序列化JSON,因为该字段将用作类名,但字段值与类名不匹配.

有没有办法将其反序列化为某种动态类但仍然访问字段,就好像它是一个预定义的类?

或者有没有办法将其反序列化为预定义的类,即使类名不匹配?

提供此数据的服务是第三方服务,因此我无法控制它.

c# parsing json visual-studio deserialization

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

使用rabbitmq stomp发送protobuf(二进制)数据

我在客户端使用 protobuf.js 为rabbitmq stomp 创建了一个示例。protobuf 示例链接:https : //github.com/dcodeIO/ProtoBuf.js

发送消息文件内容:-

var Game = builder.build("Game");
var Car = Game.Cars.Car;
var car = new Car("Rusty", "mayur");
var buffer = car.encode();      

var mq_username = "guest",
mq_password = "guest",
mq_vhost    = "/",
mq_url      = 'http://192.168.0.14:15674/stomp',
mq_queue1 = '/queue/A3';
var client = Stomp.client(mq_url);
function on_connect() 
{

client.send(mq_queue1, { priority: 9}, buffer); 

}
window.onload = function () 
{
client.connect(
        mq_username,
        mq_password,
        on_connect,
        on_connect_error,
        mq_vhost
      );    

}
Run Code Online (Sandbox Code Playgroud)

接收文件内容:-

  var Game = builder.build("Game");
  var Car = Game.Cars.Car;
  var …
Run Code Online (Sandbox Code Playgroud)

javascript stomp protocol-buffers rabbitmq content-length

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

angularjs - 如何基于原语而不是模型填充html选择元素选项

基本上,我有一个输入控制元素,您可以输入您拥有的苹果总数,并根据我想要设置的最大迷你苹果馅饼数量(您可以制作的每1个苹果1)迷你苹果派).Angularjs文档声明使用ngOptions,但我只想基于原始(苹果总数)而不是模型.

所以,如果我的totalApples值为2,那么我希望生成2个选项(其中一个值为1,另一个值为2)

我的代码到目前为止如下:

HTML片段:

<input ng-model="totalApples" />
<select ng-options="">
  <option value="1">1</option>  //what I would like to have is the options generated 
  <option value="2">2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我设置范围:

 $scope.totalApples = 2;
Run Code Online (Sandbox Code Playgroud)

谢谢

select angularjs

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

为什么这个C++程序打印"2"?

我是C++的新手,但这是我的代码:

#include <iostream>
using namespace std;

int main() {
    int x;
    cin >> x;
    cout << "x = " << x << endl;
    system("pause");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

每当我输入字母时,它总是打印出来x = 2.我知道我应该输入数字,但为什么"2"?

c++ cin

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

fork for for循环后计算进程

我有以下代码:

for(i=1; i<=2; i++)
{
    fork();
    printf("x ");   
}
Run Code Online (Sandbox Code Playgroud)

我计算出x应打印6次:第一次迭代两次,第二次迭代4次.

相反,X被打印8次.为什么?

c linux fork

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

Jsoup Element.wrap(String html)方法抛出NullPointerException

我目前有代码围绕元素包装表:

public static Element wrapElementInTable(Element e)
{
    if (e == null)
        return null;
    return e.wrap(createTableTemplate().outerHtml());
}

public static Element createTableTemplate()
{
    return createElement("table", "").appendChild( 
                createElement("tr").appendChild(
                createElement("td"))
           );
}
Run Code Online (Sandbox Code Playgroud)

现在我在main方法中创建一个Element:

public static void main(String[] args) throws IOException 
{
    Element e = new Element(Tag.valueOf("span"),"");
    String text = HtmlGenerator.wrapElementInTable(e).outerHtml();
    System.out.println(text);
}
Run Code Online (Sandbox Code Playgroud)

问题是我在wrap方法中收到NullPointerException,显然没有理由.

Exception in thread "main" java.lang.NullPointerException
at org.jsoup.nodes.Node.wrap(Node.java:345)
at org.jsoup.nodes.Element.wrap(Element.java:444)
at usingjsoup.HtmlGenerator.wrapElementInTable(HtmlGenerator.java:56)
at usingjsoup.UsingJsoup.main(UsingJsoup.java:19)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么抛出NullPointerException?(如果我在调用wrap之前打印出元素,则输出是我创建的标记)

jsoup

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

如何在VxWorks Shell中定义数组?

如何在VxWorks shell中定义数组?
例如,如果我想要以下内容:

myArray[3] = {1,2,3};
Run Code Online (Sandbox Code Playgroud)

arrays shell vxworks

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