草庐IT

arm-linux-gnu-gcc

全部标签

【Linux优化】Linux系统常用的安全优化

(文章末尾有福利!!)环境:CentOS7.91、禁用SELinuxSELinux是美国国家安全局对于强制访问控制的实现1)永久禁用SELinuxvim/etc/selinux/configSELINUX=disabled#必须重启系统才能生效2)临时禁用SELInuxgetenforce#查看SELInux当前状态setenforce0#数字0表示Permissive,即给出警告但不会阻止操作,相当于disabled,数字1表示Enforcing,即开启SELinux生产环境中可以先临时禁用SELinux,即设置setenforce0,再去修改selinux的配置文件永久禁用,这样就不用立即

基于Nginx+rtmp搭建支持hls协议的点播流媒体服务器(windows/Linux)

前言:公司最近因为客户端视频文件过大导致视频加载时间很长,让我将视频播放做成流媒体点播的形式,于是查阅了几十篇相关文章以及文档,最终将功能实现。可能是存在版本差异,绝大部分文章介绍的教程并不能成功实施,尤其是点播功能,所以我把我工作中验证成功的方案发出来,包括相应的资源包。本文仅介绍基于HLS流的点播功能,直播功能可参考如下链接操作。https://blog.csdn.net/caodongfang126/article/details/1009848411.方案介绍通过nginx-rtmp+ffmpeg实现rtsp流转hls流,可支持PC端/移动端的点播/直播,通过NativeHLSPlay

c++ - gcc "overflow in expression"而等效等效表达式工作正常

这是我的代码#includestaticconstunsignedlonglongintxx=(36*36*36*36)*(36*36*36*36);staticconstunsignedlonglonginty=36*36*36*36;staticconstunsignedlonglongintyy=y*y;intmain(){std::cout这是编译输出#g++-std=c++11test.cpp-otesttest.cpp:2:62:warning:integeroverflowinexpression[-Woverflow]staticconstunsignedlonglon

c++ - 使用 GCC 编译非必要的目标文件

考虑下面的例子g++a.ob.oc.o-oprog如果c.o没有为prog提供任何可执行代码,也没有任何对c.o的依赖其他文件,GCC是否会将c.o的内容包含在prog中?换句话说,除了编译时间之外,将不必要的文件编译成可执行文件会有什么(如果有的话)负面后果?提前致谢;干杯! 最佳答案 除了您的可执行文件可能过大之外,没有任何负面影响。链接器可能会为您删除未使用的代码,这会将事情缩减。您可以在输出可执行文件上使用某种对象查看工具(otool、objdump、nm等)来查看您的程序是否具有里面有额外的符号。我使用的是Mac,所以如果

【Linux C | 网络编程】getsockname 和 getpeername函数详解及C语言例子

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭🤣本文内容🤣:🍭介绍getsockname和getpeername函数详解及C语言例子🍭😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭本文未经允许,不得转发!!!目录🎄一、概述🎄二、getsockname函数✨2.1getsockname函数介绍✨2.2getsockname函数例子🎄三、getpeername函数✨3.1getpeername函数介绍✨3.2getpeername函数例子🎄四、总结🎄一、概述在网络编程中,套接字

Linux学习记录——사십사 高级IO(5)--- Epoll型服务器(2)(Reactor)

文章目录1、完善Epoll简单服务器2、打造统一的分开处理的体系3、epoll工作模式4、ET模式5、继续完善,处理写事件6、引入自定义协议,处理写事件本篇基于上篇代码继续改进,很长。关于Reactor的说明在后一篇1、完善Epoll简单服务器上面的代码在处理读事件时,用的request数组是临时的,如果有数据没读完,那么下次再来到这里,就没有这些数据了。所以得让每一个fd都有自己的缓冲区。建立一个Connection类,然后有一个map结构,让这个类和每个fd建立映射。Start函数改一下,不管超时还是出错,就只处理数据,处理的部分交给HandlerEvent,改名成LoopOnce,也就是

c++ - GCC函数填充值

每当我在启用优化的情况下编译C或C++代码时,dGCC都会将函数对齐到16字节边界(在IA-32上)。如果函数短于16个字节,GCC会用一些字节填充它,这些字节似乎根本不是随机的:19:c3ret1a:8db600000000lea0x0(%esi),%esi它似乎总是8db600000000...或8d742600。函数填充字节有什么意义吗? 最佳答案 填充是由汇编程序创建的,而不是由gcc创建的。它只看到一个.align指令(或等效指令),并不知道要填充的空间是在函数内部(例如循环对齐)还是函数之间,因此它必须插入NOP某种形式

c++ - 如何使 Visual Studio C++ 2010 编译行为像 gcc/g++? (或相反亦然)

假设您有以下简单的main.cpp文件:#include#include#includeusingnamespacestd;intmain(){conststringFILENAME="foo.txt";ifstreamsomefile(FILENAME);populations.close();return0;}这可以通过VisualStudioC++2010正常编译。但是,在基于Linux的系统上,如果我执行makemain并编译,我们会得到一个预期的错误,因为我们没有调用c_str()字符串常量,像这样:ifstreamsomefile(FILENAME.c_str());众所周

Linux本地部署MeterSphere测试平台并实现公网远程访问

文章目录前言1.安装MeterSphere2.本地访问MeterSphere3.安装cpolar内网穿透软件4.配置MeterSphere公网访问地址5.公网远程访问MeterSphere6.固定MeterSphere公网地址前言MeterSphere是一站式开源持续测试平台,涵盖测试跟踪、接口测试、UI测试和性能测试等功能,全面兼容JMeter、Selenium等主流开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量的软件交付,推动中国测试行业整体效率的提升。下面介绍在Linux中部署MeterSphere并且结合cpolar内网穿透实现远程也可以访问Met

Linux Archcraft结合内网穿透实现SSH远程连接

文章目录1.本地SSH连接测试2.Archcraft安装Cpolar3.配置SSH公网地址4.公网远程SSH连接5.固定SSH公网地址6.SSH固定地址连接7.结语Archcraft是一个基于ArchLinux的Linux发行版,它使用最简主义的窗口管理器而不是功能齐全的桌面环境来提供图形化用户界面。Cpolar是一种安全的内网穿透云服务,可以将内网下的本地服务器通过安全隧道暴露至公网,使得公网用户可以正常访问内网服务,是一款内网穿透软件。下面介绍如何在Archcraft中安装Cpolar内网穿透工具,并以实现ssh远程连接Archcraft例子来说明使用Cpolar内网穿透的好处及优势!本例