我在unix版本6 的if.c中找到了这一行.
ncom = "/usr/bin/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
Run Code Online (Sandbox Code Playgroud)
为什么有那么多x?你为什么要这样设置?
如果您正在尝试开发交互式直播应用程序,则需要依赖超低(实时)延迟.例如,用于视频会议或远程实验室.
适合这种情况的两种协议是:
*WebRTC:由于我试图为更大的受众提供互相交流的可能性,因此WebRTC并不合适.因为据我所知,它不是为更多的观众设计的.
我的问题:
我应该为这个用例选择哪一个?RTSP/RTP还是RTMP?
哪种协议可以提供有关端到端延迟,会话启动时间的更好结果?
哪一个消耗更多的硬件资源?
RTMP似乎使用持久TCP连接.但是哪种协议用于传输?它不能是TCP,因为这无法确保实时延迟?
一般来说,使用这两种协议的利弊是什么?
我没有在科学论文或书籍中找到这两个协议的任何比较.只有着名的移动直播应用Periscope正在使用RTMP.
Instagram或Facebook等其他应用程序例如提供与流媒体的基于文本的交互.如果开发人员想要构建基于交互式直播流的下一个"杀手级应用程序":我认为这个问题是必不可少的.
我正在使用CLion.我的CMakeLists.txt看起来像这样:
cmake_minimum_required(VERSION 3.2)
project(MPI)
add_executable(MPI main.cpp)
# Require MPI for this project:
find_package(MPI REQUIRED)
set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS})
set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_LINK_FLAGS})
include_directories(MPI_INCLUDE_PATH)
target_link_libraries(MPI ${MPI_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)
MPI - Hello World运行良好.但是,如何更改cmakelists中的处理器数量?
我已经尝试将-np 4和-n 4添加到CLion中的程序参数中.但我还是得到了
Hello World进程0 of 1
这是K&R-C,这里是整个代码:http://v6shell.org/history/if.c
看看这个功能:
char *nxtarg() {
if (ap>ac) return(0*ap++);
return(av[ap++]);
}
Run Code Online (Sandbox Code Playgroud)
1.问题:
为什么要返回(0*ap ++)?好的,你想要返回0并将ap增加1.但为什么会这样?比它快if (ap>ac) {ap++; return 0;}吗?
2.Question:nxtarg的返回类型必须是char*,为什么你能返回0,一个整数?
这是K&R-C,这里是代码:http://v6shell.org/history/if.c
看看main-Method.有一行"if(exp())".
但函数exp声明为:exp(s).所以它需要一个论点.
为什么这样做?你为什么要这样做?
手册页位于:http://man.cat-v.org/unix-6th/3/ttyn
这个例子:
if (ttyn(0) = 'x'){
...
}
Run Code Online (Sandbox Code Playgroud)
手册页说" 如果指示的文件与打字机不对应,则返回x. "
指示的文件将是参数0,所以标准输入,对吧?
什么是打字机?我的键盘?
你用这条线检查什么?
if (ttyn(0) = 'x')
Run Code Online (Sandbox Code Playgroud) 这是命令源代码中我不理解的最后一部分if.
资料来源:http://v6shell.org/history/if.c,包含语法 - 突出显示:http://pastebin.com/bj0Hvfrw
if(eq(a, "{")) { /* execute a command for exit code */
if(fork()) /*parent*/ wait(&ccode);
else { /*child*/
doex(1);
goto err;
}
while((a=nxtarg()) && (!eq(a,"}")));
return(ccode? 0 : 1);
}
Run Code Online (Sandbox Code Playgroud)
如man-page(http://man.cat-v.org/unix-6th/1/if)中所述,如果我们将命令放在括号" if expr {command} "中,我们可以获得他的退出代码.
那么我们分叉当前进程,然后等待我们的子进程完成?但是我们的孩子继续他的工作在哪里?在fork之后,我们将进入while循环并且只是跳过一些参数然后用ccode返回?ccode在哪里改变了?什么是ccode?
你能解释一下给定的代码片段吗?并详细说明ccode?
如果你编译、链接和运行这样的东西:
global _start
section .text
_start:
jmp message
proc:
...
message:
call proc
msg db " y0u sp34k 1337 ? "
section .data
Run Code Online (Sandbox Code Playgroud)