local_cl.cpp

本文展示了一个使用C++在局部范围内定义并实例化类的例子。该例子中,局部类在函数f内部定义,并且拥有两个成员函数put_i和get_i来设置及获取私有整型变量i的值。

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1194442938015&lmt=1194190197&format=336x280_as&output=html&correlator=1194442937843&url=file%3A%2F%2F%2FC%3A%2FDocuments%2520and%2520Settings%2Flhh1%2F%E6%A1%8C%E9%9D%A2%2FCLanguage.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=583001034.1194442938&ga_sid=1194442938&ga_hid=1942779085&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency"> #include <iostream.h>

void f(void);

void main(void)
{
 f();
}

void f(void)
{
 class mylocalclass
  {
  int i;
 public:
  void put_i(int n) {i=n;}
  int get_i() {return i;}
  } ob;

 ob.put_i(10);
 cout << ob.get_i();
}

 

#include <ros/ros.h> #include <std_msgs/Bool.h> #include <geometry_msgs/PoseStamped.h> #include <mavros_msgs/CommandBool.h> #include <mavros_msgs/SetMode.h> #include <mavros_msgs/State.h> #include <mavros_msgs/PositionTarget.h> #include <cmath> #include <tf/transform_listener.h> #include <nav_msgs/Odometry.h> #include <string> #include <geometry_msgs/Twist.h> #include <mavros_msgs/CommandTOL.h> using namespace std; mavros_msgs::PositionTarget setpoint_raw; //定义变量,用于接收无人机的里程计信息 tf::Quaternion quat; double roll, pitch, yaw; float init_position_x_take_off =0; float init_position_y_take_off =0; float init_position_z_take_off =0; bool flag_init_position = false; nav_msgs::Odometry local_pos; void local_pos_cb(const nav_msgs::Odometry::ConstPtr& msg) { local_pos = *msg; if (flag_init_position==false && (local_pos.pose.pose.position.z!=0)) { init_position_x_take_off = local_pos.pose.pose.position.x; init_position_y_take_off = local_pos.pose.pose.position.y; init_position_z_take_off = local_pos.pose.pose.position.z; flag_init_position = true; } tf::quaternionMsgToTF(local_pos.pose.pose.orientation, quat); tf::Matrix3x3(quat).getRPY(roll, pitch, yaw); } mavros_msgs::State current_state; void state_cb(const mavros_msgs::State::ConstPtr& msg) { current_state = *msg; } int main(int argc, char **argv) { //初始化节点,名称为v2_ar_track_landing ros::init(argc, argv, "offboard_multi_position"); //创建句柄 ros::NodeHandle nh; //订阅无人机状态话题 ros::Subscriber state_sub = nh.subscribe<mavros_msgs::State>("mavros/state", 100, state_cb); //订阅无人机实时位置信息 ros::Subscriber local_pos_sub = nh.subscribe<nav_msgs::Odometry>("/mavros/local_position/odom", 100, local_pos_cb); //发布无人机多维控制话题 ros::Publisher mavros_setpoint_pos_pub = nh.advertise<mavros_msgs::PositionTarget>("/mavros/setpoint_raw/local", 100); //请求无人机解锁服务 ros::ServiceClient arming_cl = nh.serviceClient<mavros_msgs::CommandBool>("/mavros/cmd/arming"); //请求无人机设置飞行模式,本代码请求进入offboard ros::ServiceClient cl = nh.serviceClient<mavros_msgs::SetMode>("/mavros/set_mode"); ros::ServiceClient takeoff_cl = nh.serviceClient<mavros_msgs::CommandTOL>("/mavros/cmd/takeoff"); //循环频率 ros::Rate rate(20.0); ROS_INFO("Initializing..."); while (ros::ok() && !current_state.connected) { ros::spinOnce(); rate.sleep(); } ROS_INFO("Connected."); // 设置无人机模式为GUIDED mavros_msgs::SetMode srv_setMode; srv_setMode.request.base_mode = 0; srv_setMode.request.custom_mode = "GUIDED"; if (cl.call(srv_setMode)) { ROS_INFO("setmode send ok %d value:", srv_setMode.response.mode_sent); } else { ROS_ERROR("Failed SetMode"); return -1; } // 解锁无人机 mavros_msgs::CommandBool srv; srv.request.value = true; if (arming_cl.call(srv)) { ROS_INFO("ARM send ok %d", srv.response.success); } else { ROS_ERROR("Failed arming or disarming"); } // 发布起飞的指令,向上飞1米 mavros_msgs::CommandTOL srv_takeoff; srv_takeoff.request.altitude = 0; srv_takeoff.request.latitude = 0; srv_takeoff.request.longitude = 0; srv_takeoff.request.min_pitch = 0; srv_takeoff.request.yaw = 0; if (takeoff_cl.call(srv_takeoff)) { ROS_INFO("srv_takeoff send ok %d", srv_takeoff.response.success); } else { ROS_ERROR("Failed Takeoff"); } sleep(10); bool flag_arrive = false; while(ros::ok()) { setpoint_raw.type_mask = /*1 + 2 + 4 + 8 + 16 + 32*/ + 64 + 128 + 256 + 512 /*+ 1024 + 2048*/; setpoint_raw.coordinate_frame = 1; //setpoint_raw.velocity.x = 0.2; //setpoint_raw.velocity.y = 0.0; setpoint_raw.yaw = 3.14; //setpoint_raw.position.x =init_position_x_take_off + 2; //setpoint_raw.position.y =init_position_y_take_off + 0; setpoint_raw.position.z =init_position_z_take_off + 1; mavros_setpoint_pos_pub.publish(setpoint_raw); ros::spinOnce(); rate.sleep(); } return 0; }
07-29
(bevfusion) lyq@ps:/usr/local/cuda-11.8$ ls lib64 cmake libcufile.so.0 libnppial.so.11.8.0.86 libnppitc.so.11.8.0.86 cudnn_lib libcufile.so.1.4.0 libnppial_static.a libnppitc_static.a libaccinj64.so libcufile_static.a libnppicc.so libnpps.so libaccinj64.so.11.8 libcufilt.a libnppicc.so.11 libnpps.so.11 libaccinj64.so.11.8.87 libcuinj64.so libnppicc.so.11.8.0.86 libnpps.so.11.8.0.86 libcublasLt.so libcuinj64.so.11.8 libnppicc_static.a libnpps_static.a libcublasLt.so.11 libcuinj64.so.11.8.87 libnppidei.so libnvblas.so libcublasLt.so.11.11.3.6 libculibos.a libnppidei.so.11 libnvblas.so.11 libcublasLt_static.a libcurand.so libnppidei.so.11.8.0.86 libnvblas.so.11.11.3.6 libcublas.so libcurand.so.10 libnppidei_static.a libnvjpeg.so libcublas.so.11 libcurand.so.10.3.0.86 libnppif.so libnvjpeg.so.11 libcublas.so.11.11.3.6 libcurand_static.a libnppif.so.11 libnvjpeg.so.11.9.0.86 libcublas_static.a libcusolver_lapack_static.a libnppif.so.11.8.0.86 libnvjpeg_static.a libcudadevrt.a libcusolverMg.so libnppif_static.a libnvptxcompiler_static.a libcudart.so libcusolverMg.so.11 libnppig.so libnvrtc-builtins.so libcudart.so.11.0 libcusolverMg.so.11.4.1.48 libnppig.so.11 libnvrtc-builtins.so.11.8 libcudart.so.11.8.89 libcusolver.so libnppig.so.11.8.0.86 libnvrtc-builtins.so.11.8.89 libcudart_static.a libcusolver.so.11 libnppig_static.a libnvrtc-builtins_static.a libcufft.so libcusolver.so.11.4.1.48 libnppim.so libnvrtc.so libcufft.so.10 libcusolver_static.a libnppim.so.11 libnvrtc.so.11.2 libcufft.so.10.9.0.58 libcusparse.so libnppim.so.11.8.0.86 libnvrtc.so.11.8.89 libcufft_static.a libcusparse.so.11 libnppim_static.a libnvrtc_static.a libcufft_static_nocallback.a libcusparse.so.11.7.5.86 libnppist.so libnvToolsExt.so libcufftw.so libcusparse_static.a libnppist.so.11 libnvToolsExt.so.1 libcufftw.so.10 liblapack_static.a libnppist.so.11.8.0.86 libnvToolsExt.so.1.0.0 libcufftw.so.10.9.0.58 libmetis_static.a libnppist_static.a libOpenCL.so libcufftw_static.a libnppc.so libnppisu.so libOpenCL.so.1 libcufile_rdma.so libnppc.so.11 libnppisu.so.11 libOpenCL.so.1.0 libcufile_rdma.so.1 libnppc.so.11.8.0.86 libnppisu.so.11.8.0.86 libOpenCL.so.1.0.0 libcufile_rdma.so.1.4.0 libnppc_static.a libnppisu_static.a stubs libcufile_rdma_static.a libnppial.so libnppitc.so libcufile.so libnppial.so.11 libnppitc.so.11 (bevfusion) lyq@ps:/usr/local/cuda-11.8$ ls include builtin_types.h cufftXt.h nppi_morphological_operations.h channel_descriptor.h cufile.h nppi_statistics_functions.h CL curand_discrete2.h nppi_support_functions.h common_functions.h curand_discrete.h nppi_threshold_and_compare_operations.h cooperative_groups curand_globals.h npps_arithmetic_and_logical_operations.h cooperative_groups.h curand.h npps_conversion_functions.h crt curand_kernel.h npps_filtering_functions.h cub curand_lognormal.h npps.h cublas_api.h curand_mrg32k3a.h npps_initialization.h cublas.h curand_mtgp32dc_p_11213.h npps_statistics_functions.h cublasLt.h curand_mtgp32.h npps_support_functions.h cublas_v2.h curand_mtgp32_host.h nv cublasXt.h curand_mtgp32_kernel.h nvblas.h cuComplex.h curand_normal.h nv_decode.h cuda curand_normal_static.h nvfunctional cuda_awbarrier.h curand_philox4x32_x.h nvjpeg.h cuda_awbarrier_helpers.h curand_poisson.h nvml.h cuda_awbarrier_primitives.h curand_precalc.h nvPTXCompiler.h cuda_bf16.h curand_uniform.h nvrtc.h cuda_bf16.hpp cusolver_common.h nvToolsExtCuda.h cuda_device_runtime_api.h cusolverDn.h nvToolsExtCudaRt.h cudaEGL.h cusolverMg.h nvToolsExt.h cuda_egl_interop.h cusolverRf.h nvToolsExtOpenCL.h cudaEGLTypedefs.h cusolverSp.h nvToolsExtSync.h cuda_fp16.h cusolverSp_LOWLEVEL_PREVIEW.h nvtx3 cuda_fp16.hpp cusparse.h sm_20_atomic_functions.h cuda_fp8.h cusparse_v2.h sm_20_atomic_functions.hpp cuda_fp8.hpp device_atomic_functions.h sm_20_intrinsics.h cudaGL.h device_atomic_functions.hpp sm_20_intrinsics.hpp cuda_gl_interop.h device_double_functions.h sm_30_intrinsics.h cudaGLTypedefs.h device_functions.h sm_30_intrinsics.hpp cuda.h device_launch_parameters.h sm_32_atomic_functions.h cudalibxt.h device_types.h sm_32_atomic_functions.hpp cuda_occupancy.h driver_functions.h sm_32_intrinsics.h cuda_pipeline.h driver_types.h sm_32_intrinsics.hpp cuda_pipeline_helpers.h fatbinary_section.h sm_35_atomic_functions.h cuda_pipeline_primitives.h host_config.h sm_35_intrinsics.h cuda_profiler_api.h host_defines.h sm_60_atomic_functions.h cudaProfiler.h library_types.h sm_60_atomic_functions.hpp cudaProfilerTypedefs.h math_constants.h sm_61_intrinsics.h cudart_platform.h math_functions.h sm_61_intrinsics.hpp cuda_runtime_api.h mma.h surface_functions.h cuda_runtime.h nppcore.h surface_indirect_functions.h cuda_surface_types.h nppdefs.h surface_types.h cuda_texture_types.h npp.h texture_fetch_functions.h cudaTypedefs.h nppi_arithmetic_and_logical_operations.h texture_indirect_functions.h cudaVDPAU.h nppi_color_conversion.h texture_types.h cuda_vdpau_interop.h nppi_data_exchange_and_initialization.h thrust cudaVDPAUTypedefs.h nppi_filtering_functions.h vector_functions.h cudnn_include nppi_geometry_transforms.h vector_functions.hpp cufft.h nppi.h vector_types.h cufftw.h nppi_linear_transforms.h (bevfusion) lyq@ps:/usr/local/cuda-11.8$ 一共有这么多文件怎么处理,怎么执行命令
最新发布
11-12
copying mmcv\ops\csrc\pytorch\npu\nms_rotated_npu.cpp -> build\lib.win-amd64-3.8\mmcv\ops\csrc\pytorch\npu copying mmcv\ops\csrc\pytorch\npu\psa_mask_npu.cpp -> build\lib.win-amd64-3.8\mmcv\ops\csrc\pytorch\npu copying mmcv\ops\csrc\pytorch\npu\roi_align_npu.cpp -> build\lib.win-amd64-3.8\mmcv\ops\csrc\pytorch\npu copying mmcv\ops\csrc\pytorch\npu\roi_pool_npu.cpp -> build\lib.win-amd64-3.8\mmcv\ops\csrc\pytorch\npu copying mmcv\ops\csrc\pytorch\npu\voxelization_npu.cpp -> build\lib.win-amd64-3.8\mmcv\ops\csrc\pytorch\npu running build_ext D:\Software\Anaconda3\envs\mmyolo\lib\site-packages\torch\utils\cpp_extension.py:380: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找不到指定的文件。 warnings.warn(f'Error checking compiler version for {compiler}: {error}') creating build\temp.win-amd64-3.8 creating build\temp.win-amd64-3.8\Release creating build\temp.win-amd64-3.8\Release\mmcv creating build\temp.win-amd64-3.8\Release\mmcv\ops creating build\temp.win-amd64-3.8\Release\mmcv\ops\csrc creating build\temp.win-amd64-3.8\Release\mmcv\ops\csrc\pytorch creating build\temp.win-amd64-3.8\Release\mmcv\ops\csrc\pytorch\cpu "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\Administrator\AppData\Local\Temp\pip-install-j2ekj2ve\mmcv_de97da00817c43e380453fa1489e5f62\mmcv\ops\csrc\common -ID:\Software\Anaconda3\envs\mmyolo\lib\site-packages\torch\include -ID:\Software\Anaconda3\envs\mmyolo\lib\site-packages\torch\include\torch\csrc\api\include -ID:\Software\Anaconda3\envs\mmyolo\lib\site-packages\torch\include\TH -ID:\Software\Anaconda3\envs\mmyolo\lib\site-packages\torch\include\THC -ID:\Software\Anaconda3\envs\mmyolo\include -ID:\Software\Anaconda3\envs\mmyolo\Include "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\include" "-IC:\Progr
03-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值