小编Sea*_*ock的帖子

API和ABI之间的区别

我是linux系统编程的新手,在阅读Linux系统编程时遇到了API和ABI .

API的定义:

API定义了一个软件在源级别与另一个软件通信的接口.

ABI的定义:

API定义源接口,而ABI定义特定体系结构上两个或多个软件之间的低级二进制接口.它定义了应用程序如何与自身交互,应用程序如何与内核交互以及应用程序如何与库交互.

程序如何在源级别进行通信?什么是源级别?它无论如何都与源代码有关?或者库的源代码包含在主程序中?

我所知道的唯一区别是API主要由程序员使用,而ABI主要由编译器使用.

api abi

176
推荐指数
8
解决办法
5万
查看次数

结构上的方法调用?

当我们在对象上调用方法时,对象的引用将隐式传递给方法.

所以我的问题是在结构上调用方法时会发生什么?它与这方面的类似吗?

.net c# struct

28
推荐指数
2
解决办法
6012
查看次数

为什么我不能从main函数返回更大的值?

我试图从我的主函数返回一个更大的值,如1000,但当我键入echo $?它显示0.

如果我返回一个较小的值,如100,则显示正确的值.

我的代码:

int main(void)
{
     return 1000;
}
Run Code Online (Sandbox Code Playgroud)

对我们可以返回的价值有任何限制吗?

c++ linux exit-code

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

整合Facebook聊天

我已经编写了一个程序来集成在C#中的Facebook用户聊天,但是我总是<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>在将响应发送到服务器之后得到.

我检查了API密钥和App秘密,两者都是正确的.看起来我将一些错误的参数传递给服务器.

这是我的代码.

private void GetDetailsButton_Click(object sender, EventArgs e)
{
     TcpClient FacebookClient = new TcpClient();
     FacebookClient.Connect("chat.facebook.com", 5222);
     NetworkStream myns = FacebookClient.GetStream();

     string xml = "<?xml version='1.0'?>" +
     "<stream:stream " +
     "id='1' " +
     "to='chat.facebook.com' " +
     "xmlns='jabber:client' " +
     "xmlns:stream='http://etherx.jabber.org/streams' " +
     "version='1.0' >";

     StreamWriter mySw = new StreamWriter(myns);
     mySw.WriteLine(xml);  //sending initial request
     mySw.Flush();

     byte[] serverResponseByte = new byte[1024];
     int myBytesRead = 0;
     StringBuilder myResponseAsSB = new StringBuilder();

     //reading response from the server to see the supported …
Run Code Online (Sandbox Code Playgroud)

c# facebook xmpp x-facebook-platform

16
推荐指数
3
解决办法
6810
查看次数

WSAStartup函数如何启动Winsock DLL的使用?

WSAStartup函数如何启动Winsock DLL的使用?

根据文件

WSAStartup函数必须是应用程序或DLL调用的第一个Windows套接字函数.它允许应用程序或DLL指定所需的Windows套接字版本,并检索特定Windows套接字实现的详细信息.应用程序或DLL只能在成功调用WSAStartup后发出更多Windows套接字函数.

这个函数初始化WSADATA数据结构,但在socket编程,我们不传递WSDATA任何功能,因此程序如何来了解Windows套接字版本和其他细节?

例如,在此代码中

#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32")

void Run(int argc, char* argv[])
{
    char* host = argc < 2 ? "" : argv[1];
    struct hostent* entry = gethostbyname(host);

    if(entry)
    {
        struct in_addr* addr = (struct in_addr*) entry->h_addr;
        printf("IP Address: %s\n", inet_ntoa(*addr));
    }
    else
        printf("ERROR: Resolution failure.\n");
}

int main(int argc, char* argv[])
{
    WSADATA wsaData;

    if(WSAStartup(0x202, &wsaData) == 0)
    {
        Run(argc, argv);
        WSACleanup();
    }
    else
        printf("ERROR: Initialization failure.\n");
}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我正在 …

c winapi network-programming winsock wsastartup

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

为什么java支持不像C++那样通过引用传递

我已经阅读了原始数据类型和对象引用按值传递的每个位置?

我试过在谷歌搜索为什么java支持不通过引用传递,但我只是得到java不支持通过引用传递,我找不到它背后的任何原因.

为什么不能通过引用传递原始数据类型?

编辑:大多数人已经关闭了我的问题,假设它是主观的和议论性的.

嗯,它不是,它有一个明确的答案,我的问题是为什么你不能创建一个抽象类的对象,它也不是重复,因为大多数答案只是明确地说不.

谢谢.

c++ java pass-by-reference

15
推荐指数
2
解决办法
7004
查看次数

Flash Pdf查看器就像scribd一样

是否有任何免费的Flash pdf查看器,以便我可以将其嵌入我的asp页面,我尝试搜索谷歌,但都是徒劳的.[嵌入式PDF查看器也将工作]

提前致谢

flash

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

僵尸进程

我有一些关于僵尸进程的问题

  • 僵尸流程概念的好处是什么?
  • 知道内核为僵尸进程保留(PID,终止状态,资源使用信息)
    "资源使用信息"的含义是什么
  • 如何僵尸的PPID()= 1并且它仍然是僵尸,(init收到Zombies,因为它默认为wait())
    任何人都可以编写一些C代码来制作僵尸它的父亲是Init吗?
  • 可以僵尸拒绝释放一些内存锁?

提前致谢

c unix posix process systems-programming

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

用C#拨打电话

我需要一个相对便宜的解决方案来从.net平台拨打电话(特别是C#).它必须能够拨打一个号码并确定线路是否断开连接,是否有人接听,以及是否有人应答可能会播放信息.谢谢你的任何信息.

c# tapi

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

什么是adb守护进程?

在运行应用程序.apk文件时,会在模拟器中安装apk文件.要在模拟器中安装apk文件,我们需要Android Debug Bridge(ADB)服务.守护进程是此服务的一部分.我的问题是守护进程的工作是什么?它有什么作用?

android adb android-emulator apk titanium-mobile

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