CPP_>learning

在C++中

1、“.”被称为结构运算符,    A.B则A为对象或者结构体;

2、“->”被称为结构指针运算符,A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;

3、 "::" 是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。
  :: 一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,考试,大提示在类内定义的时候,打此函数名默认调用的是本身的成员函数;如果要调用同名的全局函数时,就必须打上::以示区别。比如在VC里,你可以在调用API函数时,在API函数名前加::。

       ::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;

4、":" 一般用来表示继承;

/home/kejia/Server/tf/Bin_x64/DeepLearning/DL_Lib_02/torch/cuda/__init__.py:52: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 803: system has unsupported display driver / cuda driver combination (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:100.) return torch._C._cuda_getDeviceCount() > 0 gpu count 0 Traceback (most recent call last): File "DL_ProcessManager_01.py", line 5, in <module> File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "PyInstaller/loader/pyimod03_importers.py", line 540, in exec_module File "DL_ProcessManager/__init__.py", line 1, in <module> File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "PyInstaller/loader/pyimod03_importers.py", line 540, in exec_module File "DL_ProcessManager/DL_ProcessManager.py", line 12, in <module> File "/home/lxy/anaconda3/envs/mmdet2/lib/python3.7/site-packages/PyInstaller/hooks/rthooks/pyi_rth_multiprocessing.py", line 55, in _freeze_support File "multiprocessing/spawn.py", line 105, in spawn_main File "multiprocessing/spawn.py", line 115, in _main AttributeError: Can't get attribute 'CarmeraFunc' on <module '__main__' (built-in)> [15584] Failed to execute script DL_ProcessManager_01
07-22
这个错误是由于CUDA初始化时出现了问题,可能是由于不匹配的显示驱动程序和CUDA驱动程序导致的。下面是一些可能的解决方案: 1. 确保你的显示驱动程序与安装的CUDA版本兼容。你可以在NVIDIA官方网站上找到CUDA与驱动程序版本的兼容性信息。如果不兼容,请尝试更新或降低驱动程序版本,使其与CUDA版本匹配。 2. 确保你的CUDA环境正确配置。验证CUDA是否正确安装和配置,可以尝试运行一些简单的CUDA示例代码,以确保CUDA可以正常工作。 3. 检查你的代码中是否有其他与CUDA相关的操作在调用`torch.cuda.NumCudaDevices()`之前被执行。确保在调用此函数之前没有其他CUDA操作。 4. 确保你的环境变量设置正确。检查环境变量`LD_LIBRARY_PATH`是否包含正确的CUDA库路径。你可以使用以下命令检查: ``` echo $LD_LIBRARY_PATH ``` 如果没有设置或设置不正确,你可以通过编辑`~/.bashrc`文件来设置正确的路径: ``` export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH ``` 然后运行以下命令使更改生效: ``` source ~/.bashrc ``` 5. 如果以上解决方案都无效,尝试重新安装CUDA和相关的驱动程序。 请注意,上述解决方案中的一些步骤可能需要管理员权限。如果你对系统没有足够的权限,建议与系统管理员合作或联系技术支持以获取进一步的帮助。同时,确保备份重要的数据,以防万一出现问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值