草庐IT

os_stuff

全部标签

c++ - 是否有从代码库中删除第三方 C 和 C++ 库的好技巧或工具? (OS X 或 Linux)

我正在减少和隔离我对某些库的使用。我编写的许多现有程序直接使用这些库。我想要编译器(在这种情况下是GCC和/或Clang)或一些工具来帮助我在我的代码库中识别这些用途。简而言之,我想在整个代码库中毒害这些库的使用,除了它们将由一个库使用,并且一个库将对我的代码库中的其他模块可见。问题:1)你知道可以帮助我解决这个问题的工具吗?2)或者你能推荐一些策略来使这个过程更容易吗?条件和详情:删除它们的包含不是一种选择。由于我的代码库的大小和我想要隔离的符号数量,搜索无效。考虑到代码库的复杂性和要删除的符号数量,使用重构工具将过于乏味。由于第三方库中声明的数量,单独弃用符号不是一种选择。第三方库

c++ - 在 Mac OS X 10.9 和 Xcode 上安装 GMP 库

我的问题和标题一样简单。我有一台装有OSXMavericks(10.9.4)和Xcode(5.1.1)的MacbookPro。我需要安装GMP任意精度库,这样我就可以在Xcode中编写支持GMP的程序。我是从官网下载的包我把它解压到我的桌面./configure--prefix=/usr/local--enable-cxxmakemakechecksudomakeinstall但是当我进入Xcode并且只是#include它没有找到它。将-lgmp添加到我的链接器标志也会导致错误。我还尝试将自制软件与brewinstallgmp结合使用但这也不起作用(相同的症状)解决这个问题的正确方法

c++ - Mac OS X 10.6.8 上的 gcc-4.2.1 中不存在 strnlen - 如何定义它?

我正在构建最新dcraw.c的跨平台OSX版本我在OSX10.6.8上执行此操作以获得PPC兼容性。现在我的问题是strnlen似乎在最新版本的程序中使用,它在10.6.8上不存在,gcc给我这样的消息:Undefinedsymbolsforarchitecturei386:"_strnlen",referencedfrom:...Undefinedsymbolsforarchitectureppc:"_strnlen",referencedfrom:...所以,我只想定义strnlen,但不太清楚如何定义。问:任何人都可以提供strnlen的工作定义以在dcraw.c中使用吗?顺便说

鸿蒙OS 剪贴板开发指导

场景介绍同一设备的应用程序A、B之间可以借助系统剪贴板服务完成简单数据的传递,即应用程序A向剪贴板服务写入数据后,应用程序B可以从中读取出数据。在满足分布式剪贴板服务的使用条件时,应用程序A、B也可以来自组网内的不同设备。图1剪贴板服务示意图在使用剪贴板服务时,需要注意以下几点:只有在前台获取到焦点的应用才有读取系统剪贴板的权限(系统默认输入法应用除外)。写入到剪贴板服务中的剪贴板数据不会随应用程序结束而销毁。对同一用户而言,写入剪贴板服务的数据会被下一次写入的剪贴板数据所覆盖。如果设备满足分布式组网条件,且进行复制操作的设备打开了剪贴板分布式开关,未配置“仅在本地”标志位的剪贴板数据里的MI

在 Mac OS X Snow Leopard 上使用 Xcode 的 C++11

我的项目有时在Windows/VisualStudio2010上开发并使用一些C++11功能,我需要能够在MacOSX上开发/构建。当我尝试使用Xcode构建项目时,我在新的C++11功能方面遇到了很多错误,并检查了gcc版本,发现它很旧(4.2)。看起来Apple试图通过拒绝在任何其他版本的MacOS上下载Xcode4+来迫使开发人员为Lion支付不必要的升级费用,因此我只剩下Xcode3.x。如何在SnowLeopard上继续使用C++11?有没有一种方法可以做到这一点并将Xcode保持为IDE? 最佳答案 2012年2月25日

c++ - 如何获取 Mac OS X Dock 的位置、宽度和高度? cocoa /碳/C++/Qt

我试图在我的C++/Qt应用程序中获取MacOSXDock的位置和宽度。但是我只能想方设法获取桌面的可用空间,这意味着我可以获得Dock高度,但不能获取宽度。有没有办法使用nativeOSAPI获取Dock位置和宽度? 最佳答案 这可能有助于无黑客攻击的解决方案,NSScreen提供了一种方法(visibleframe),可以从屏幕尺寸中减去菜单和Dock。frame方法包含两者。[NSStatusBarsystemStatusBar].thickness将返回菜单栏的高度。https://developer.apple.com/r

c++ - OS X 上的 std::locale 段错误,无法在任何其他平台上重现

我有以下代码建议用于我之前的问题generaterangeforwhichstd::isalphaevaluatestotrue.它显示当前区域设置中的所有char,isalpha的计算结果为true,因此对于英语区域设置,它显示AB...Zab...z。但是,当我尝试访问table。我在OSXMavericks10.9.4上用g++4.9和clang++(AppleLLVMversion5.1(clang-503.0.40))编译了它。在所有其他平台(Linux/Solaris)上它都可以工作,没有段错误。谁能指出OSX上C++的libc++/libstdc++是否存在问题,或者至少

c++ - 如何理解函数ostream& operator<< (ostream& os, const unsigned char* s)

对于像这样的函数声明ostream&operator我想知道返回了什么。CPP引用说它返回ostream对象。但为什么它是ostream&而不是简单的ostream?谢谢 最佳答案 运算符返回ostream&(即对ostream对象的可修改引用)而不是拷贝或void的原因是它允许链接,因为实例,以std::cout作为ostream对象的常见示例:unsignedinti=2;std::cout这里我们链接了两个constchar*,一个unsignedint和一个流修饰符,而不必用单独的行将它们分开,这使得阅读和明白了。

Docker:3、基于龙晰 (Anolis OS 8.8 )的 openssl更新/升级(升级到 openssl 1.1.1.w)

本文接“Docker:1、基于龙晰(AnolisOS8.8)的基础镜像制作”,docker容器已经启动。一、查看系统及Openssl版本#cat/etc/os-release#ssh-V#opensslversion二、anolisos的目录结构及openssl软件下载1).本文中主要用到的两个目录如下:/usr/local即个人文件夹,在本文中作为数据文件/usr/bin即存放用户基本命令目录2).下载安装包①、进入openssl官网(https://www.openssl.org/source/),找到需要下载的软件版本,见下图。(本次升级是把openssl的版本由1.1.1k升级到1.1

c++ - 以编程方式获取 OS X 上安装的 RAM 量

我在一台安装了8GB内存的机器上工作,我试图以编程方式确定机器中安装了多少内存。我已经尝试使用sysctlbyname()来获取安装的内存量,但它似乎仅限于返回带符号的32位整数。uint64_ttotal=0;size_tsize=sizeof(total);if(!sysctlbyname("hw.physmem",&total,&size,NULL,0))m_totalMemory=total;上面的代码,无论传递给sysctlbyname的是什么类型,总是在total变量中返回2147483648。我一直在通过IOKit和IORegistryExplorer搜索另一种确定已安装