我目前正在学习C.我的讲师将此作为使用malloc和free的一个不好的例子,但对我来说似乎没问题.这是代码:
int *p1,**p2;
p1 = malloc(sizeof(int));
*p1 = 7;
p2 = malloc(sizeof(int*));
*p2 = p1;
free(p1);
free(*p2);
Run Code Online (Sandbox Code Playgroud)
我的讲师声称释放p1和*p2会导致"未定义的行为",但我不明白为什么.
我明白双重释放内存中相同的区域是坏的但不会*p2指向一个指向7的位置的指针?我认为他意味着做免费(p1)和免费(**p2)是坏事.我对吗?
如果我有这样的表格:
id name value
1 abc 1
2 def 4
3 ghi 1
4 jkl 2
Run Code Online (Sandbox Code Playgroud)
如何选择一个仍然id, name, value
只有最小值的新表.
在这个例子中我需要这个表:
1 abc 1
3 ghi 1
Run Code Online (Sandbox Code Playgroud) 谁能帮助我为我的项目创建一个makefile?我需要从makefile创建3个二进制文件.
二进制文件单独编译如下:
gcc -D_POSIX_SOURCE -Wall -Werror -pedantic -std=c99 -D_GNU_SOURCE -pthread main.c service_client_socket.c service_listen_socket.c get_listen_socket.c -o serverThreaded
gcc -D_POSIX_SOURCE -Wall -Werror -pedantic -std=c99 -D_GNU_SOURCE -pthread main.c service_client_socket.c service_listen_socket.c get_listen_socket.c -o server
(因此它创建了2个相同的二进制文件,但名称不同,serverThreaded和server)
而且我也需要makefile中的这个:
gcc -D_POSIX_SOURCE -Wall -Werror -pedantic -std=c99 -D_GNU_SOURCE -pthread client.c -o client
编辑:我认为这是我需要的?
all: serverThreaded server client
gcc -D_POSIX_SOURCE -Wall -Werror -pedantic -std=c99 -D_GNU_SOURCE -pthread main.c service_client_socket.c service_listen_socket.c get_listen_socket.c -o serverThreaded
gcc -D_POSIX_SOURCE -Wall -Werror -pedantic -std=c99 -D_GNU_SOURCE -pthread main.c service_client_socket.c service_listen_socket.c get_listen_socket.c -o server
gcc -D_POSIX_SOURCE -Wall -Werror …
Run Code Online (Sandbox Code Playgroud) 我已经尝试对video.play()
许多可能的事件进行监听,但没有一个一直有效。我有时会在控制台中遇到未处理的 DOM 异常。哪个事件是要收听的正确事件,或者我如何才能实现此功能?
到目前为止我尝试听的事件是
Hls.Events.LEVEL_LOADED
Hls.Events.FRAG_LOADED
Hls.Events.BUFFER_APPENDED
Run Code Online (Sandbox Code Playgroud)
我只是为这些事件添加侦听器,如下所示:
Hls.on(EVENT, playVideo);
Run Code Online (Sandbox Code Playgroud)
hls.js:https : //github.com/video-dev/hls.js