标签: shared

POSIX 共享内存:XSI 还是实时?

POSIX 似乎定义了两个提供共享内存的不同可选 IPC API:XSI 扩展(shmget、shmctl、shmdt)和实时选项组(shm_open、shm_unlink)。shmget 的 opengroup 文档在“应用程序使用”部分中指出,如果我编写使用 XSI 例程的软件,则应该轻松修改它以使用实时扩展中的例程。

这是否意味着应该首选实时扩展中的例程(如果可用)?

一套是否打算最终取代另一套?

哪一套更“面向未来”?

问候,大卫

memory posix shared xsi

6
推荐指数
0
解决办法
1266
查看次数

如何创建一个共享目录,对Android中的所有应用程序具有读写权限?

如何创建一个共享目录,该目录具有对我手机上安装的所有应用程序的读/写权限,而不是在SD卡上?我试过了:

File f = new File("/tmp");
f.mkdir();
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

directory android shared

5
推荐指数
1
解决办法
1537
查看次数

程序是否需要.so共享库中的其他符号,但头文件中声明的符号除外?

在C编程中,我认为只要.so文件提供了在头文件中声明的所有符号,就可以成功地将目标文件与.so文件链接.

假设我有foo.c,bar.h和两个库libbar.so.1和libbar.so.2.libbar.so.1和libbar.so.2的实现完全不同,但我认为只要它们都提供在bar.h中声明的函数就可以了.

我将foo.o与libbar.so.1链接并生成了一个可执行文件:foo.bin.当libbar.so.1在LD_LIBRARY_PATH中时,此可执行文件有效.(当然,符号链接是libbar.so)但是,当我将符号链接更改为libbar.so.2时,foo.bin无法运行并抱怨此:

 undefined symbol: _ZSt4cerr
Run Code Online (Sandbox Code Playgroud)

libbar.so.1是一个c ++构建的库,而libbar.so.2是一个ac构建的库.我不明白为什么foo.bin需要那些仅在libbar.so.1本身有意义的c ++相关符号,因为foo.bin是基于纯c代码foo.c构建的.

c shared symbols libraries

5
推荐指数
1
解决办法
639
查看次数

Xcode 4 iOS项目结构问题

我有我的第一个iOS应用程序(一个相对简单的iPad应用程序,将在一个月左右发布),但现在我正在转向更雄心勃勃的东西,并可以使用一些建议.

我的下一个项目实际上是两个截然不同但密切相关的iPad应用程序,它们将共享相当多的核心功能和通用数据格式.因此,我的本能是开发这两个应用程序并结合两者共享的核心框架的开发,我希望这个共享框架能够使用CoreData并提供可供其使用的GUI元素(NIB,视图控制器).各自的应用.因此,我的另一个本能是创建3个Xcode项目:一个用于app A的iOS应用程序项目,一个用于app B的第二个iOS应用程序项目,以及一个用于共享框架的第三个CocoaTouch框架项目.

问题:

1)这是构建我的开发的正确方法,还是有更好的方法来同时开发两个密切相关的应用程序和共享框架?

2)框架可以使用CoreData吗?(我问这个是因为在Xcode中创建CocoaTouch框架项目时,没有提供使用CoreData的选项 - 也没有选择单元测试 - 就像创建iOS应用程序项目时一样).

3)是否有办法将iOS应用程序项目"转换"为框架项目,或者最好是将应用程序项目构建到框架目标中?这将让我创建包含所有Xcode设置免费赠品(NIB,核心数据等)的框架项目,而不是手动添加所有这些东西.

谢谢!

卡尔

xcode shared projects ios ios-frameworks

5
推荐指数
1
解决办法
613
查看次数

具有一些共享数据的多租户数据库

我在所有租用的数据库上都有一个完整的多租户数据库和TenantID.这一切都很好,除了现在我们要求允许租用的数据库"链接"共享数据.因此,例如,用户可以创建自己的"银行"记录并将帐户链接到他们,但他们也可以将帐户链接到所有租户共享的"全局"银行记录.

我需要一个优雅的解决方案,保持参照完整性

到目前为止我提出的方法:

  1. 复制:所有共享数据都复制到每个租户,可能带有"系统"标志.对共享数据的更改涉及所有租户的大量更新.可能是最简单的解决方案,但我不喜欢数据重复
  2. 特殊ID:共享数据的所有链接都使用特殊ID(例如,负ID号).这些表明TenantID不在关系中使用.您不能使用FK来正确执行此操作,如果您有任何FK,则肯定无法在租户中重复使用ID.只有触发器才能用于完整性.
  3. 单独的ID:所有可以链接到共享数据的表都有两个FK; 一个使用TenantID并链接到本地​​数据,另一个不使用TenantID并链接到共享数据.约束表示要使用一个或另一个,而不是两者.这可能是最"纯粹"的方法,但它似乎......丑陋,但也许不像其他人那样难看.

所以,我的问题分为两部分:

  • 有没有我没考虑过的选择?
  • 有没有人有这些选项的经验,并对优缺点有任何反馈?

sql-server shared foreign-keys multi-tenant

5
推荐指数
1
解决办法
1016
查看次数

在TFS 2010中跨不同团队项目共享项目二进制文件

我将源代码从PureCM设置转移到全新的TFS 2010设置。我有跨多个解决方案的.net项目,这些项目彼此共享二进制输出。在纯CM世界中,这些共享二进制文件保留为“共享组件”。跨团队项目的TFS中是否有“共享源代码”的概念?有什么想法在TFS中实现这一目标的最佳方法是什么?

截至目前,我目前在TFS中提出的结构如下:

  • http:// TFSServer /开发
    • 共享的(这是一个团队项目
      • LocalResources-ProcessTasks-分支
      • LocalResources-Suite-branch
      • 外部资源
    • ProcessTasks(这是一个团队项目
      • 源代码
      • LocalResources(分支到Shared> LocalResources-ProcessTasks-branch)
    • 套件(这是一个团队项目
      • 源代码-LocalResources(分支到Shared> LocalResources-Suite-branch)

对于每个团队项目,二进制文件都转到本地文件夹(例如LocalResources),然后对于每个需要共享的文件夹,我在共享团队项目中创建一个分支。所有二进制文件均从“共享”项目的分支位置引用。

现在的问题是,团队中的每个人都应将其“共享”项目的工作区放在同一位置,以使此设置起作用。

有什么想法可以改进这个设置吗?

提前致谢!

shared projects binaries tfs2010

5
推荐指数
1
解决办法
1222
查看次数

支持NUMA的Linux命名共享内存

Windows API提供CreateFileMappingNuma函数(http://msdn.microsoft.com/en-us/library/windows/desktop/aa366539(v=vs.85).aspx)以在特定NUMA上创建命名共享内存空间节点.

到目前为止,我还没有找到Linux的等效功能.

我目前的方法如下:

  1. 分配命名的共享内存(使用shm_open(...))
  2. 确定当前的NUMA节点(使用numa_move_pages(...))
  3. 将页面移动到目标节点(再次使用numa_move_pages(...))

有谁知道更好的方法?

编辑:为了记录:我提出的实施确实按预期工作!

linux memory shared numa

5
推荐指数
1
解决办法
901
查看次数

列出网络位置的所有共享文件夹

我想列出网络服务器中的所有共享目录.

列出我使用的共享网络目录中的目录

Directory.GetDirectories(@"\\server\share\")
Run Code Online (Sandbox Code Playgroud)

问题是我要列出所有文件夹\\server.

如果我使用相同的方法,我会得到一个例外

UNC路径的格式应为\ server\share

我到处寻找,我找不到解决方案.

有没有人知道我应该做什么才能显示文件夹\\share

.net c# networking shared unc

5
推荐指数
1
解决办法
3029
查看次数

使用fork:从父级访问子进程内存

我在C中使用fork()来分解运行本地数组的工作,让每个进程运行一半,然后将数组中每个点的数字相乘,然后将产品设置在第三个数组中.

pid_t  pid;
pid = fork();

if (pid == 0){
    for (i=1; i<((SIZE/2)+1); i++)
    {
        output[i] = (one[i] * two[i]);
    }
    exit(0);
}
else{
    wait(NULL);
        for (i=((SIZE/2)+1); i<(SIZE+1); i++)
        {
            output[i] = one[i]*two[i];
        }         
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在这段代码之后打印产品数组时,我只接收父进程设置的部分,我假设这是因为子进程将其值存储在父进程无法选择的内存中打印产品阵列时,但我不完全确定.在此先感谢您的帮助.

c memory arrays fork shared

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

哪个php框架适合共享主机?

我正在尝试使用PHP框架,但我对Composer和终端命令没有信心.我想下载一个框架并将其上传到我的共享主机上,然后开始开发我的应用程序.有什么建议吗?

谢谢.

php hosting frameworks shared

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